From: Linus Torvalds Date: Tue, 18 Oct 2005 07:16:45 +0000 (-0700) Subject: Avoid ambiguity between refname and filename in rev-parse X-Git-Tag: v0.99.9~93 X-Git-Url: https://git.octo.it/?p=git.git;a=commitdiff_plain;h=7a3dd472ad2c69b7450a59eb2a35efb0698993d0 Avoid ambiguity between refname and filename in rev-parse Although it really is very convenient, not requiring explicit '-r' option to name revs is sometimes ambiguous. Usually we allow a "--" to say where a filename starts when it _is_ ambiguous. However, we fail that at times. In particular, git-rev-parse fails it. Signed-off-by: Linus Torvalds Signed-off-by: Junio C Hamano --- diff --git a/rev-parse.c b/rev-parse.c index 41b9dae4..85230dfa 100644 --- a/rev-parse.c +++ b/rev-parse.c @@ -151,6 +151,12 @@ static void show_datestring(const char *flag, const char *datestr) show(buffer); } +static void show_file(const char *arg) +{ + if ((filter & (DO_NONFLAGS|DO_NOREV)) == (DO_NONFLAGS|DO_NOREV)) + show(arg); +} + int main(int argc, char **argv) { int i, as_is = 0, verify = 0; @@ -162,7 +168,7 @@ int main(int argc, char **argv) char *dotdot; if (as_is) { - show(arg); + show_file(arg); continue; } if (*arg == '-') { @@ -282,9 +288,7 @@ int main(int argc, char **argv) } if (verify) die("Needed a single revision"); - if ((filter & (DO_NONFLAGS|DO_NOREV)) == - (DO_NONFLAGS|DO_NOREV)) - show(arg); + show_file(arg); } show_default(); if (verify && revs_count != 1)