aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2006-05-09 01:43:38 +0400
committerJunio C Hamano <junkio@cox.net>2006-05-08 16:25:33 -0700
commit31fff305bcc6db3b8082eac7fc9e441b27964fea (patch)
tree1681e28441508afae3f3e1bf602c4b0914d9c820
parentafb4ff206967c6b3e481994cc6d0d86139792169 (diff)
downloadgit-31fff305bcc6db3b8082eac7fc9e441b27964fea.tar.gz
git-31fff305bcc6db3b8082eac7fc9e441b27964fea.tar.xz
Separate object name errors from usage errors
Separate object name errors from usage errors. Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--cat-file.c7
-rw-r--r--commit-tree.c8
-rw-r--r--convert-objects.c4
-rw-r--r--describe.c6
-rw-r--r--ls-tree.c4
-rw-r--r--merge-base.c8
-rw-r--r--merge-tree.c2
-rw-r--r--read-tree.c4
-rw-r--r--revision.c4
-rw-r--r--ssh-upload.c2
-rw-r--r--tar-tree.c4
-rw-r--r--unpack-file.c4
-rw-r--r--update-ref.c4
13 files changed, 36 insertions, 25 deletions
diff --git a/cat-file.c b/cat-file.c
index 628f6cada..7413feed7 100644
--- a/cat-file.c
+++ b/cat-file.c
@@ -103,8 +103,10 @@ int main(int argc, char **argv)
setup_git_directory();
git_config(git_default_config);
- if (argc != 3 || get_sha1(argv[2], sha1))
+ if (argc != 3)
usage("git-cat-file [-t|-s|-e|-p|<type>] <sha1>");
+ if (get_sha1(argv[2], sha1))
+ die("Not a valid object name %s", argv[2]);
opt = 0;
if ( argv[1][0] == '-' ) {
@@ -133,8 +135,7 @@ int main(int argc, char **argv)
return !has_sha1_file(sha1);
case 'p':
- if (get_sha1(argv[2], sha1) ||
- sha1_object_info(sha1, type, NULL))
+ if (sha1_object_info(sha1, type, NULL))
die("Not a valid object name %s", argv[2]);
/* custom pretty-print here */
diff --git a/commit-tree.c b/commit-tree.c
index 259585097..0320036e8 100644
--- a/commit-tree.c
+++ b/commit-tree.c
@@ -91,15 +91,19 @@ int main(int argc, char **argv)
git_config(git_default_config);
- if (argc < 2 || get_sha1_hex(argv[1], tree_sha1) < 0)
+ if (argc < 2)
usage(commit_tree_usage);
+ if (get_sha1(argv[1], tree_sha1))
+ die("Not a valid object name %s", argv[1]);
check_valid(tree_sha1, tree_type);
for (i = 2; i < argc; i += 2) {
char *a, *b;
a = argv[i]; b = argv[i+1];
- if (!b || strcmp(a, "-p") || get_sha1(b, parent_sha1[parents]))
+ if (!b || strcmp(a, "-p"))
usage(commit_tree_usage);
+ if (get_sha1(b, parent_sha1[parents]))
+ die("Not a valid object name %s", b);
check_valid(parent_sha1[parents], commit_type);
if (new_parent(parents))
parents++;
diff --git a/convert-objects.c b/convert-objects.c
index 12aacef5a..a67d6b479 100644
--- a/convert-objects.c
+++ b/convert-objects.c
@@ -321,8 +321,10 @@ int main(int argc, char **argv)
setup_git_directory();
- if (argc != 2 || get_sha1(argv[1], sha1))
+ if (argc != 2)
usage("git-convert-objects <sha1>");
+ if (get_sha1(argv[1], sha1))
+ die("Not a valid object name %s", argv[1]);
entry = convert_entry(sha1);
printf("new sha1: %s\n", sha1_to_hex(entry->new_sha1));
diff --git a/describe.c b/describe.c
index ff6574261..8a9cd5d52 100644
--- a/describe.c
+++ b/describe.c
@@ -105,11 +105,11 @@ static void describe(char *arg, int last_one)
static int initialized = 0;
struct commit_name *n;
- if (get_sha1(arg, sha1) < 0)
- usage(describe_usage);
+ if (get_sha1(arg, sha1))
+ die("Not a valid object name %s", arg);
cmit = lookup_commit_reference(sha1);
if (!cmit)
- usage(describe_usage);
+ die("%s is not a valid '%s' object", arg, commit_type);
if (!initialized) {
initialized = 1;
diff --git a/ls-tree.c b/ls-tree.c
index e4ef20098..f2b3bc123 100644
--- a/ls-tree.c
+++ b/ls-tree.c
@@ -142,8 +142,8 @@ int main(int argc, const char **argv)
if (argc < 2)
usage(ls_tree_usage);
- if (get_sha1(argv[1], sha1) < 0)
- usage(ls_tree_usage);
+ if (get_sha1(argv[1], sha1))
+ die("Not a valid object name %s", argv[1]);
pathspec = get_pathspec(prefix, argv + 2);
tree = parse_tree_indirect(sha1);
diff --git a/merge-base.c b/merge-base.c
index 07f5ab4d1..f0dc06ef5 100644
--- a/merge-base.c
+++ b/merge-base.c
@@ -247,10 +247,12 @@ int main(int argc, char **argv)
usage(merge_base_usage);
argc--; argv++;
}
- if (argc != 3 ||
- get_sha1(argv[1], rev1key) ||
- get_sha1(argv[2], rev2key))
+ if (argc != 3)
usage(merge_base_usage);
+ if (get_sha1(argv[1], rev1key))
+ die("Not a valid object name %s", argv[1]);
+ if (get_sha1(argv[2], rev2key))
+ die("Not a valid object name %s", argv[2]);
rev1 = lookup_commit_reference(rev1key);
rev2 = lookup_commit_reference(rev2key);
if (!rev1 || !rev2)
diff --git a/merge-tree.c b/merge-tree.c
index 50528d5e4..47181d422 100644
--- a/merge-tree.c
+++ b/merge-tree.c
@@ -151,7 +151,7 @@ static void *get_tree_descriptor(struct tree_desc *desc, const char *rev)
unsigned char sha1[20];
void *buf;
- if (get_sha1(rev, sha1) < 0)
+ if (get_sha1(rev, sha1))
die("unknown rev %s", rev);
buf = fill_tree_descriptor(desc, sha1);
if (!buf)
diff --git a/read-tree.c b/read-tree.c
index 26f4f7e32..e926e4c88 100644
--- a/read-tree.c
+++ b/read-tree.c
@@ -794,8 +794,8 @@ int main(int argc, char **argv)
if (1 < index_only + update)
usage(read_tree_usage);
- if (get_sha1(arg, sha1) < 0)
- usage(read_tree_usage);
+ if (get_sha1(arg, sha1))
+ die("Not a valid object name %s", arg);
if (list_tree(sha1) < 0)
die("failed to unpack tree object %s", arg);
stage++;
diff --git a/revision.c b/revision.c
index 5f2f0be38..d41e59b9c 100644
--- a/revision.c
+++ b/revision.c
@@ -674,7 +674,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
local_flags = UNINTERESTING;
arg++;
}
- if (get_sha1(arg, sha1) < 0) {
+ if (get_sha1(arg, sha1)) {
int j;
if (seen_dashdash || local_flags)
@@ -693,7 +693,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
if (def && !revs->commits) {
unsigned char sha1[20];
struct commit *commit;
- if (get_sha1(def, sha1) < 0)
+ if (get_sha1(def, sha1))
die("bad default revision '%s'", def);
commit = get_commit_reference(revs, def, sha1, 0);
add_one_commit(commit, revs);
diff --git a/ssh-upload.c b/ssh-upload.c
index b675a0b1f..2da66618f 100644
--- a/ssh-upload.c
+++ b/ssh-upload.c
@@ -134,7 +134,7 @@ int main(int argc, char **argv)
commit_id = argv[arg];
url = argv[arg + 1];
if (get_sha1(commit_id, sha1))
- usage(ssh_push_usage);
+ die("Not a valid object name %s", commit_id);
memcpy(hex, sha1_to_hex(sha1), sizeof(hex));
argv[arg] = hex;
diff --git a/tar-tree.c b/tar-tree.c
index fc60a9087..33087366c 100644
--- a/tar-tree.c
+++ b/tar-tree.c
@@ -321,8 +321,8 @@ int main(int argc, char **argv)
strbuf_append_string(&current_path, "/");
/* FALLTHROUGH */
case 2:
- if (get_sha1(argv[1], sha1) < 0)
- usage(tar_tree_usage);
+ if (get_sha1(argv[1], sha1))
+ die("Not a valid object name %s", argv[1]);
break;
default:
usage(tar_tree_usage);
diff --git a/unpack-file.c b/unpack-file.c
index 23a856230..ccddf1d4b 100644
--- a/unpack-file.c
+++ b/unpack-file.c
@@ -27,8 +27,10 @@ int main(int argc, char **argv)
{
unsigned char sha1[20];
- if (argc != 2 || get_sha1(argv[1], sha1))
+ if (argc != 2)
usage("git-unpack-file <sha1>");
+ if (get_sha1(argv[1], sha1))
+ die("Not a valid object name %s", argv[1]);
setup_git_directory();
git_config(git_default_config);
diff --git a/update-ref.c b/update-ref.c
index ba4bf5153..fd487421c 100644
--- a/update-ref.c
+++ b/update-ref.c
@@ -32,10 +32,10 @@ int main(int argc, char **argv)
refname = argv[1];
value = argv[2];
oldval = argv[3];
- if (get_sha1(value, sha1) < 0)
+ if (get_sha1(value, sha1))
die("%s: not a valid SHA1", value);
memset(oldsha1, 0, 20);
- if (oldval && get_sha1(oldval, oldsha1) < 0)
+ if (oldval && get_sha1(oldval, oldsha1))
die("%s: not a valid old SHA1", oldval);
path = resolve_ref(git_path("%s", refname), currsha1, !!oldval);