diff options
-rw-r--r-- | rev-parse.c | 8 | ||||
-rw-r--r-- | revision.c | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/rev-parse.c b/rev-parse.c index 19a5ef7f4..f176c56f7 100644 --- a/rev-parse.c +++ b/rev-parse.c @@ -172,9 +172,11 @@ int main(int argc, char **argv) struct stat st; char *arg = argv[i]; char *dotdot; - + if (as_is) { - show_file(arg); + if (show_file(arg) && as_is < 2) + if (lstat(arg, &st) < 0) + die("'%s': %s", arg, strerror(errno)); continue; } if (!strcmp(arg,"-n")) { @@ -194,7 +196,7 @@ int main(int argc, char **argv) if (*arg == '-') { if (!strcmp(arg, "--")) { - as_is = 1; + as_is = 2; /* Pass on the "--" if we show anything but files.. */ if (filter & (DO_FLAGS | DO_REVS)) show_file(arg); diff --git a/revision.c b/revision.c index 12cd0529a..d67718c75 100644 --- a/revision.c +++ b/revision.c @@ -649,7 +649,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch /* If we didn't have a "--", all filenames must exist */ for (j = i; j < argc; j++) { if (lstat(argv[j], &st) < 0) - die("'%s': %s", arg, strerror(errno)); + die("'%s': %s", argv[j], strerror(errno)); } revs->prune_data = get_pathspec(revs->prefix, argv + i); break; |