{"thread":{"id":"1051","subject":"[PATCH 2/2] Fix for git-rev-list --merge-order B ^A (A,B share common base) [rev 2]","startedAt":"2005-06-30T01:51:34Z","lastAt":"2005-06-30T01:51:34Z","messageCount":1,"participants":["Jon Seymour"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"5433","messageId":"20050630015134.32197.qmail@blackcubes.dyndns.org","threadId":"1051","inReplyTo":null,"subject":"[PATCH 2/2] Fix for git-rev-list --merge-order B ^A (A,B share common base) [rev 2]","fromName":"Jon Seymour","fromEmail":"jon.seymour@gmail.com","sentAt":"2005-06-30T01:51:34Z","receivedAt":"2005-06-30T01:51:34Z","isPatch":true,"sender":{"key":"jon.seymour@gmail.com","avatar":"https://avatars.githubusercontent.com/u/207131?v=4"},"body":"\nThis patch makes --merge-order produce the same list as git-rev-list \nwithout --merge-order specified.\n\nIn particular, if the graph looks like this:\n\nA\n| B\n|/ \nC\n|\nD\n\nThe both git-rev-list B ^A and git-rev-list --merge-order will produce B.\n\nThe unit tests have been changed to reflect the fact that the prune\npoints are now formally part of the start list that is used to perform\nthe --merge-order sort.\n\nThat is: git-rev-list --merge-order A ^D used to produce\n\n= A\n| C\n\nIt now produces:\n\n^ A\n| C\n\nSigned-off-by: Jon Seymour <jon.seymour@gmail.com>\n---\n\n epoch.c                         |    8 +++-----\n t/t6001-rev-list-merge-order.sh |   12 ++++++------\n 2 files changed, 9 insertions(+), 11 deletions(-)\n\nd402f03f56475c30c3b62577c5a42af09f6b95b8\ndiff --git a/epoch.c b/epoch.c\n--- a/epoch.c\n+++ b/epoch.c\n@@ -585,11 +585,9 @@ int sort_list_in_merge_order(struct comm\n \tfor (; list; list = list->next) {\n \t\tstruct commit *next = list->item;\n \n-\t\tif (!(next->object.flags & UNINTERESTING)) {\n-\t\t\tif (!(next->object.flags & DUPCHECK)) {\n-\t\t\t\tnext->object.flags |= DUPCHECK;\n-\t\t\t\tcommit_list_insert(list->item, &reversed);\n-\t\t\t}\n+\t\tif (!(next->object.flags & DUPCHECK)) {\n+\t\t\tnext->object.flags |= DUPCHECK;\n+\t\t\tcommit_list_insert(list->item, &reversed);\n \t\t}\n \t}\n \ndiff --git a/t/t6001-rev-list-merge-order.sh b/t/t6001-rev-list-merge-order.sh\n--- a/t/t6001-rev-list-merge-order.sh\n+++ b/t/t6001-rev-list-merge-order.sh\n@@ -367,33 +367,33 @@ test_output_expect_success \"three nodes \n EOF\n \n test_output_expect_success \"linear prune l2 ^root\" 'git-rev-list --merge-order --show-breaks l2 ^root' <<EOF\n-= l2\n+^ l2\n | l1\n | l0\n EOF\n \n test_output_expect_success \"linear prune l2 ^l0\" 'git-rev-list --merge-order --show-breaks l2 ^l0' <<EOF\n-= l2\n+^ l2\n | l1\n EOF\n \n test_output_expect_success \"linear prune l2 ^l1\" 'git-rev-list --merge-order --show-breaks l2 ^l1' <<EOF\n-= l2\n+^ l2\n EOF\n \n test_output_expect_success \"linear prune l5 ^a4\" 'git-rev-list --merge-order --show-breaks l5 ^a4' <<EOF\n-= l5\n+^ l5\n | l4\n | l3\n EOF\n \n test_output_expect_success \"linear prune l5 ^l3\" 'git-rev-list --merge-order --show-breaks l5 ^l3' <<EOF\n-= l5\n+^ l5\n | l4\n EOF\n \n test_output_expect_success \"linear prune l5 ^l4\" 'git-rev-list --merge-order --show-breaks l5 ^l4' <<EOF\n-= l5\n+^ l5\n EOF\n \n test_output_expect_success \"max-count 10 - merge order\" 'git-rev-list --merge-order --show-breaks --max-count=10 l5' <<EOF\n------------\n"}]}