Signed-off-by: Derrick Stolee <dstolee@xxxxxxxxxxxxx> --- t/helper/test-reach.c | 4 ++++ t/t6600-test-reach.sh | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/t/helper/test-reach.c b/t/helper/test-reach.c index 4df01187c9..e32e193b70 100644 --- a/t/helper/test-reach.c +++ b/t/helper/test-reach.c @@ -102,6 +102,10 @@ int cmd__reach(int ac, const char **av) struct commit_list *list = get_merge_bases_many(A, X_nr, X_array); printf("%s(A,X):\n", av[1]); print_sorted_commit_ids(list); + } else if (!strcmp(av[1], "reduce_heads")) { + struct commit_list *list = reduce_heads(X); + printf("%s(X):\n", av[1]); + print_sorted_commit_ids(list); } exit(0); diff --git a/t/t6600-test-reach.sh b/t/t6600-test-reach.sh index d43e1a61d5..17c6467988 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 + { + echo "reduce_heads(X):" && + git rev-parse commit-5-1 \ + commit-4-4 \ + commit-3-6 \ + commit-2-8 \ + commit-1-10 | sort + } >expect && + test_three_modes reduce_heads +' + test_done -- 2.18.0.118.gd4f65b8d14