Skip to content

Commit 31fff30

Browse files
ldv-altJunio C Hamano
authored andcommitted
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>
1 parent afb4ff2 commit 31fff30

File tree

13 files changed

+36
-25
lines changed

13 files changed

+36
-25
lines changed

cat-file.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,10 @@ int main(int argc, char **argv)
103103

104104
setup_git_directory();
105105
git_config(git_default_config);
106-
if (argc != 3 || get_sha1(argv[2], sha1))
106+
if (argc != 3)
107107
usage("git-cat-file [-t|-s|-e|-p|<type>] <sha1>");
108+
if (get_sha1(argv[2], sha1))
109+
die("Not a valid object name %s", argv[2]);
108110

109111
opt = 0;
110112
if ( argv[1][0] == '-' ) {
@@ -133,8 +135,7 @@ int main(int argc, char **argv)
133135
return !has_sha1_file(sha1);
134136

135137
case 'p':
136-
if (get_sha1(argv[2], sha1) ||
137-
sha1_object_info(sha1, type, NULL))
138+
if (sha1_object_info(sha1, type, NULL))
138139
die("Not a valid object name %s", argv[2]);
139140

140141
/* custom pretty-print here */

commit-tree.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,19 @@ int main(int argc, char **argv)
9191

9292
git_config(git_default_config);
9393

94-
if (argc < 2 || get_sha1_hex(argv[1], tree_sha1) < 0)
94+
if (argc < 2)
9595
usage(commit_tree_usage);
96+
if (get_sha1(argv[1], tree_sha1))
97+
die("Not a valid object name %s", argv[1]);
9698

9799
check_valid(tree_sha1, tree_type);
98100
for (i = 2; i < argc; i += 2) {
99101
char *a, *b;
100102
a = argv[i]; b = argv[i+1];
101-
if (!b || strcmp(a, "-p") || get_sha1(b, parent_sha1[parents]))
103+
if (!b || strcmp(a, "-p"))
102104
usage(commit_tree_usage);
105+
if (get_sha1(b, parent_sha1[parents]))
106+
die("Not a valid object name %s", b);
103107
check_valid(parent_sha1[parents], commit_type);
104108
if (new_parent(parents))
105109
parents++;

convert-objects.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,8 +321,10 @@ int main(int argc, char **argv)
321321

322322
setup_git_directory();
323323

324-
if (argc != 2 || get_sha1(argv[1], sha1))
324+
if (argc != 2)
325325
usage("git-convert-objects <sha1>");
326+
if (get_sha1(argv[1], sha1))
327+
die("Not a valid object name %s", argv[1]);
326328

327329
entry = convert_entry(sha1);
328330
printf("new sha1: %s\n", sha1_to_hex(entry->new_sha1));

describe.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,11 @@ static void describe(char *arg, int last_one)
105105
static int initialized = 0;
106106
struct commit_name *n;
107107

108-
if (get_sha1(arg, sha1) < 0)
109-
usage(describe_usage);
108+
if (get_sha1(arg, sha1))
109+
die("Not a valid object name %s", arg);
110110
cmit = lookup_commit_reference(sha1);
111111
if (!cmit)
112-
usage(describe_usage);
112+
die("%s is not a valid '%s' object", arg, commit_type);
113113

114114
if (!initialized) {
115115
initialized = 1;

ls-tree.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,8 @@ int main(int argc, const char **argv)
142142

143143
if (argc < 2)
144144
usage(ls_tree_usage);
145-
if (get_sha1(argv[1], sha1) < 0)
146-
usage(ls_tree_usage);
145+
if (get_sha1(argv[1], sha1))
146+
die("Not a valid object name %s", argv[1]);
147147

148148
pathspec = get_pathspec(prefix, argv + 2);
149149
tree = parse_tree_indirect(sha1);

merge-base.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -247,10 +247,12 @@ int main(int argc, char **argv)
247247
usage(merge_base_usage);
248248
argc--; argv++;
249249
}
250-
if (argc != 3 ||
251-
get_sha1(argv[1], rev1key) ||
252-
get_sha1(argv[2], rev2key))
250+
if (argc != 3)
253251
usage(merge_base_usage);
252+
if (get_sha1(argv[1], rev1key))
253+
die("Not a valid object name %s", argv[1]);
254+
if (get_sha1(argv[2], rev2key))
255+
die("Not a valid object name %s", argv[2]);
254256
rev1 = lookup_commit_reference(rev1key);
255257
rev2 = lookup_commit_reference(rev2key);
256258
if (!rev1 || !rev2)

merge-tree.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ static void *get_tree_descriptor(struct tree_desc *desc, const char *rev)
151151
unsigned char sha1[20];
152152
void *buf;
153153

154-
if (get_sha1(rev, sha1) < 0)
154+
if (get_sha1(rev, sha1))
155155
die("unknown rev %s", rev);
156156
buf = fill_tree_descriptor(desc, sha1);
157157
if (!buf)

read-tree.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -794,8 +794,8 @@ int main(int argc, char **argv)
794794
if (1 < index_only + update)
795795
usage(read_tree_usage);
796796

797-
if (get_sha1(arg, sha1) < 0)
798-
usage(read_tree_usage);
797+
if (get_sha1(arg, sha1))
798+
die("Not a valid object name %s", arg);
799799
if (list_tree(sha1) < 0)
800800
die("failed to unpack tree object %s", arg);
801801
stage++;

revision.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -674,7 +674,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
674674
local_flags = UNINTERESTING;
675675
arg++;
676676
}
677-
if (get_sha1(arg, sha1) < 0) {
677+
if (get_sha1(arg, sha1)) {
678678
int j;
679679

680680
if (seen_dashdash || local_flags)
@@ -693,7 +693,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
693693
if (def && !revs->commits) {
694694
unsigned char sha1[20];
695695
struct commit *commit;
696-
if (get_sha1(def, sha1) < 0)
696+
if (get_sha1(def, sha1))
697697
die("bad default revision '%s'", def);
698698
commit = get_commit_reference(revs, def, sha1, 0);
699699
add_one_commit(commit, revs);

ssh-upload.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ int main(int argc, char **argv)
134134
commit_id = argv[arg];
135135
url = argv[arg + 1];
136136
if (get_sha1(commit_id, sha1))
137-
usage(ssh_push_usage);
137+
die("Not a valid object name %s", commit_id);
138138
memcpy(hex, sha1_to_hex(sha1), sizeof(hex));
139139
argv[arg] = hex;
140140

0 commit comments

Comments
 (0)