X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;ds=sidebyside;f=rev-tree.c;h=c2909da1722b48be394311d9cc70cf78ec81e411;hb=b11645be0139f907488b17ca4267e593ee58dd30;hp=95ec274fc7fa68d2e70446104c51732ac7815fe2;hpb=5e7921e7c1a844974469a5f865ebf0001ff06311;p=git.git diff --git a/rev-tree.c b/rev-tree.c index 95ec274f..c2909da1 100644 --- a/rev-tree.c +++ b/rev-tree.c @@ -51,11 +51,11 @@ void process_commit(unsigned char *sha1) struct commit_list *parents; struct commit *obj = lookup_commit(sha1); - if (obj->object.parsed) + if (obj && obj->object.parsed) return; + if (!obj || parse_commit(obj)) + die("unable to parse commit (%s)", sha1_to_hex(sha1)); - parse_commit(obj); - parents = obj->parents; while (parents) { process_commit(parents->item->object.sha1); @@ -97,7 +97,7 @@ int main(int argc, char **argv) arg++; basemask |= 1<= MAX_COMMITS || get_sha1_hex(arg, sha1[nr])) + if (nr >= MAX_COMMITS || get_sha1(arg, sha1[nr])) usage("rev-tree [--edges] [--cache ] []"); process_commit(sha1[nr]); nr++;