This series fixes git rev-parse so that references of the form ref@{n} cause rev-parse to fail with non-zero status codes when n >= N, where N is the size of the reflog for ref. The first commit causes git rev-parse to exit with a non-zero status code but has the flaw that the error message is duplicated if --verify is not specified. The second commit fixes the duplicate error messages produced by the first commit, but prevents the diagnostic being displayed if the --verify option is specified. The third commit restores the diagnostic if the --verify option is specified. The fourth commit adds tests for the changed behaviour. Jon Seymour (4): rev-parse: exit with non-zero status if ref@{n} is not valid. rev-parse: suppress duplicate log limit exceeded message. rev-parse: introduce get_sha1_with_gently rev-parse: tests that git rev-parse --verify master@{n} builtin/rev-parse.c | 2 +- cache.h | 1 + sha1_name.c | 52 ++++++++++++++++++++++++--------------- t/t1503-rev-parse-verify.sh | 11 ++++++++ t/t1506-rev-parse-diagnosis.sh | 9 +++++++ 5 files changed, 54 insertions(+), 21 deletions(-) -- 1.7.2.1.152.g499e.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html