summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 34fd1c9)
raw | patch | inline | side by side (parent: 34fd1c9)
author | Paul Mackerras <paulus@samba.org> | |
Tue, 25 Apr 2006 00:00:03 +0000 (10:00 +1000) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Tue, 25 Apr 2006 05:22:29 +0000 (22:22 -0700) |
Currently, if git-rev-parse encounters an argument that is neither a
recognizable revision name nor the name of an existing file or
directory, and it hasn't encountered a "--" argument, it prints an
error message saying "No such file or directory". This can be
confusing for users, including users of programs such as gitk that
use git-rev-parse, who may then think that they can't ask about the
history of files that no longer exist.
This makes it print a better error message, one that points out the
ambiguity and tells the user what to do to fix it.
Signed-off-by: Paul Mackerras <paulus@samba.org>
recognizable revision name nor the name of an existing file or
directory, and it hasn't encountered a "--" argument, it prints an
error message saying "No such file or directory". This can be
confusing for users, including users of programs such as gitk that
use git-rev-parse, who may then think that they can't ask about the
history of files that no longer exist.
This makes it print a better error message, one that points out the
ambiguity and tells the user what to do to fix it.
Signed-off-by: Paul Mackerras <paulus@samba.org>
rev-parse.c | patch | blob | history |
diff --git a/rev-parse.c b/rev-parse.c
index e956cd5ed54906335f0b07e9b522a869bfddd218..7f66ae2db827c6ce0ee245ac416d2e80a937061f 100644 (file)
--- a/rev-parse.c
+++ b/rev-parse.c
return 0;
}
+static void die_badfile(const char *arg)
+{
+ if (errno != ENOENT)
+ die("'%s': %s", arg, strerror(errno));
+ die("'%s' is ambiguous - revision name or file/directory name?\n"
+ "Please put '--' before the list of filenames.", arg);
+}
+
int main(int argc, char **argv)
{
int i, as_is = 0, verify = 0;
if (as_is) {
if (show_file(arg) && as_is < 2)
if (lstat(arg, &st) < 0)
- die("'%s': %s", arg, strerror(errno));
+ die_badfile(arg);
continue;
}
if (!strcmp(arg,"-n")) {
if (verify)
die("Needed a single revision");
if (lstat(arg, &st) < 0)
- die("'%s': %s", arg, strerror(errno));
+ die_badfile(arg);
}
show_default();
if (verify && revs_count != 1)