From: Derrick Stolee <dstolee@xxxxxxxxxxxxx> Signed-off-by: Derrick Stolee <dstolee@xxxxxxxxxxxxx> --- t/helper/test-reach.c | 7 +++++++ t/t6600-test-reach.sh | 22 ++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/t/helper/test-reach.c b/t/helper/test-reach.c index 97c726040..73cb55208 100644 --- a/t/helper/test-reach.c +++ b/t/helper/test-reach.c @@ -85,6 +85,13 @@ int cmd__reach(int ac, const char **av) printf("%s\n", oid_to_hex(&list->item->object.oid)); list = list->next; } + } else if (!strcmp(av[1], "reduce_heads")) { + struct commit_list *list = reduce_heads(X); + printf("%s(X):\n", av[1]); + while (list) { + printf("%s\n", oid_to_hex(&list->item->object.oid)); + list = list->next; + } } exit(0); diff --git a/t/t6600-test-reach.sh b/t/t6600-test-reach.sh index 19e39ad7c..e365a4ea6 100755 --- a/t/t6600-test-reach.sh +++ b/t/t6600-test-reach.sh @@ -138,4 +138,26 @@ test_expect_success 'get_merge_bases_many' ' test_three_modes get_merge_bases_many ' +test_expect_success 'reduce_heads' ' + cat >input <<-\EOF && + X:commit-1-10 + X:commit-2-8 + X:commit-3-6 + X:commit-4-4 + X:commit-1-7 + X:commit-2-5 + X:commit-3-3 + X:commit-5-1 + EOF + { + printf "reduce_heads(X):\n" && + git rev-parse commit-5-1 && + git rev-parse commit-4-4 && + git rev-parse commit-3-6 && + git rev-parse commit-2-8 && + git rev-parse commit-1-10 + } >expect && + test_three_modes reduce_heads +' + test_done -- gitgitgadget