diff options
| author | Junio C Hamano <junkio@cox.net> | 2007-02-28 11:58:27 -0800 |
|---|---|---|
| committer | Junio C Hamano <junkio@cox.net> | 2007-02-28 11:58:27 -0800 |
| commit | 597388f6a1c18a117904c307c20542d8a79a1fcd (patch) | |
| tree | 035f1083845981205f2f73b5db158f1598c89d19 /builtin-commit-tree.c | |
| parent | fbe3d87e5fcef2e0fff41c3b0589331c889dfb59 (diff) | |
| parent | 66035a6b3d629b546daef3784f5351d58f4f17b1 (diff) | |
| download | git-597388f6a1c18a117904c307c20542d8a79a1fcd.tar.gz | |
Merge branch 'np/types'
* np/types:
Cleanup check_valid in commit-tree.
make sure enum object_type is signed
get rid of lookup_object_type()
convert object type handling from a string to a number
formalize typename(), and add its reverse type_from_string()
sha1_file.c: don't ignore an error condition in sha1_loose_object_info()
sha1_file.c: cleanup "offset" usage
sha1_file.c: cleanup hdr usage
Diffstat (limited to 'builtin-commit-tree.c')
| -rw-r--r-- | builtin-commit-tree.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/builtin-commit-tree.c b/builtin-commit-tree.c index 2a818a0a2c..4a8d8d8b67 100644 --- a/builtin-commit-tree.c +++ b/builtin-commit-tree.c @@ -45,15 +45,14 @@ static void add_buffer(char **bufp, unsigned int *sizep, const char *fmt, ...) memcpy(buf + size, one_line, len); } -static void check_valid(unsigned char *sha1, const char *expect) +static void check_valid(unsigned char *sha1, enum object_type expect) { - char type[20]; - - if (sha1_object_info(sha1, type, NULL)) + enum object_type type = sha1_object_info(sha1, NULL); + if (type < 0) die("%s is not a valid object", sha1_to_hex(sha1)); - if (expect && strcmp(type, expect)) + if (type != expect) die("%s is not a valid '%s' object", sha1_to_hex(sha1), - expect); + typename(expect)); } /* @@ -101,7 +100,7 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix) if (get_sha1(argv[1], tree_sha1)) die("Not a valid object name %s", argv[1]); - check_valid(tree_sha1, tree_type); + check_valid(tree_sha1, OBJ_TREE); for (i = 2; i < argc; i += 2) { const char *a, *b; a = argv[i]; b = argv[i+1]; @@ -112,7 +111,7 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix) die("Too many parents (%d max)", MAXPARENT); if (get_sha1(b, parent_sha1[parents])) die("Not a valid object name %s", b); - check_valid(parent_sha1[parents], commit_type); + check_valid(parent_sha1[parents], OBJ_COMMIT); if (new_parent(parents)) parents++; } |
