X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=rev-tree.c;h=c2909da1722b48be394311d9cc70cf78ec81e411;hb=902b92e00e491a60d55c4b2bce122903b8347f34;hp=03c900f459c0e6ae7fc9455589be00375f44eac8;hpb=94dfb7f2e38fde5014fe50f9e74bde7d2d264184;p=git.git diff --git a/rev-tree.c b/rev-tree.c index 03c900f45..c2909da17 100644 --- a/rev-tree.c +++ b/rev-tree.c @@ -1,8 +1,3 @@ -#define _XOPEN_SOURCE /* glibc2 needs this */ -#define _BSD_SOURCE /* for tm.tm_gmtoff */ -#include -#include - #include "cache.h" #include "commit.h" @@ -56,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); @@ -102,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++;