X-Git-Url: https://git.octo.it/?a=blobdiff_plain;ds=sidebyside;f=rev-list.c;h=83a604ae9bc382953ebd0167fd86bbc813ce9156;hb=623c8a1460125f66274f451691b3576b0d0f7a4c;hp=309070fedd74b5aae204694fd40ebd48827e03f2;hpb=54c6870ebf4c364dd809a1a58eb8485855344812;p=git.git diff --git a/rev-list.c b/rev-list.c index 309070fe..83a604ae 100644 --- a/rev-list.c +++ b/rev-list.c @@ -228,6 +228,17 @@ static void mark_parents_uninteresting(struct commit *commit) commit->object.flags |= UNINTERESTING; /* + * Normally we haven't parsed the parent + * yet, so we won't have a parent of a parent + * here. However, it may turn out that we've + * reached this commit some other way (where it + * wasn't uninteresting), in which case we need + * to mark its parents recursively too.. + */ + if (commit->parents) + mark_parents_uninteresting(commit); + + /* * A missing commit is ok iff its parent is marked * uninteresting. * @@ -537,9 +548,13 @@ int main(int argc, char **argv) sort_in_topological_order(&list); show_commit_list(list); } else { +#ifndef NO_OPENSSL if (sort_list_in_merge_order(list, &process_commit)) { - die("merge order sort failed\n"); + die("merge order sort failed\n"); } +#else + die("merge order sort unsupported, OpenSSL not linked"); +#endif } return 0;