Browse Source

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 <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Linus Torvalds 19 years ago committed by Junio C Hamano
parent
commit
7a3dd472ad
  1. 12
      rev-parse.c

12
rev-parse.c

@ -151,6 +151,12 @@ static void show_datestring(const char *flag, const char *datestr) @@ -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) @@ -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) @@ -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)

Loading…
Cancel
Save