make actual use of the parse_commit() return value and print a warning,
instead of silently ignoring it. Should never trigger on a valid DB.
(alternatively we might use a die() in the sanity check place and could
remove all the return code handling?)
Ingo
Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
--- rev-tree.c.orig
+++ rev-tree.c
@@ -64,6 +64,7 @@ static unsigned long parse_commit_date(c
static int parse_commit(unsigned char *sha1)
{
struct revision *rev = lookup_rev(sha1);
+ int ret = 0;
if (!(rev->flags & SEEN)) {
void *buffer, *bufptr;
@@ -81,13 +82,13 @@ static int parse_commit(unsigned char *s
bufptr += 46; /* "tree " + "hex sha1" + "\n" */
while (!memcmp(bufptr, "parent ", 7) && !get_sha1_hex(bufptr+7,
parent)) {
add_relationship(rev, parent);
- parse_commit(parent);
+ ret |= parse_commit(parent);
bufptr += 48; /* "parent " + "hex sha1" + "\n" */
}
rev->date = parse_commit_date(bufptr);
free(buffer);
}
- return 0;
+ return ret;
}
static void read_cache_file(const char *path)
@@ -208,7 +209,8 @@ int main(int argc, char **argv)
}
if (nr >= MAX_COMMITS || get_sha1_hex(arg, sha1[nr]))
usage("rev-tree [--edges] [--cache <cache-file>]
<commit-id> [<commit-id>]");
- parse_commit(sha1[nr]);
+ if (parse_commit(sha1[nr]))
+ fprintf(stderr, "warning: rev-tree: bad commit!\n");
nr++;
}
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html