{"thread":{"id":"52592","subject":"[PATCH 1/2] graph: add test to demonstrate horizontal line bug","startedAt":"2020-01-08T04:28:00Z","lastAt":"2020-01-08T21:06:21Z","messageCount":9,"participants":["Derrick Stolee via GitGitGadget","Jeff King","Derrick Stolee","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"389447","messageId":"0977ead712e5b77fdfac703d8b2e8dc495bc393b.1578457675.git.gitgitgadget@gmail.com","threadId":"52592","inReplyTo":"pull.518.git.1578457675.gitgitgadget@gmail.com","subject":"[PATCH 1/2] graph: add test to demonstrate horizontal line bug","fromName":"Derrick Stolee via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2020-01-08T04:27:54Z","receivedAt":"2020-01-08T04:28:00Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"From: Derrick Stolee <dstolee@microsoft.com>\n\nA previous test in t4215-log-skewed-merges.sh was added to demonstrate\nexactly the topology of a reported failure in \"git log --graph\". While\ninvestigating the fix, we realized that multiple edges that could\ncollapse with horizontal lines were not doing so.\n\nSpecifically, examine this section of the graph:\n\n\t| | | | | | *\n\t| |_|_|_|_|/|\\\n\t|/| | | | |/ /\n\t| | | | |/| /\n\t| | | |/| |/\n\t| | |/| |/|\n\t| |/| |/| |\n\t| | |/| | |\n\t| | * | | |\n\nDocument this behavior with a test. This behavior is new, as the\nbehavior in v2.24.1 has the following output:\n\n\t| | | | | | *-.\n\t| | | | | | |\\ \\\n\t| |_|_|_|_|/ / /\n\t|/| | | | | / /\n\t| | |_|_|_|/ /\n\t| |/| | | | /\n\t| | | |_|_|/\n\t| | |/| | |\n\t| | * | | |\n\nThe behavior changed logically in 479db18b (\"graph: smooth appearance\nof collapsing edges on commit lines\", 2019-10-15), but was actually\nbroken due to an assert() bug in 458152cc (\"graph: example of graph\noutput that can be simplified\", 2019-10-15). A future change could\nmodify this behavior to do the following instead:\n\n\t| | | | | | *\n\t| |_|_|_|_|/|\\\n\t|/| | | | |/ /\n\t| | |_|_|/| /\n\t| |/| | | |/\n\t| | | |_|/|\n\t| | |/| | |\n\t| | * | | |\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\n---\n t/t4215-log-skewed-merges.sh | 62 ++++++++++++++++++++++++++++++++++++\n 1 file changed, 62 insertions(+)\n\ndiff --git a/t/t4215-log-skewed-merges.sh b/t/t4215-log-skewed-merges.sh\nindex 5661ed5881..099e4b89b4 100755\n--- a/t/t4215-log-skewed-merges.sh\n+++ b/t/t4215-log-skewed-merges.sh\n@@ -311,4 +311,66 @@ test_expect_success 'log --graph with multiple tips and colors' '\n \ttest_cmp expect.colors actual.colors\n '\n \n+test_expect_failure 'log --graph with multiple tips' '\n+\tgit checkout --orphan 7_1 &&\n+\ttest_commit 7_A &&\n+\ttest_commit 7_B &&\n+\ttest_commit 7_C &&\n+\tgit checkout -b 7_2 7_1~2 &&\n+\ttest_commit 7_D &&\n+\ttest_commit 7_E &&\n+\tgit checkout -b 7_3 7_1~1 &&\n+\ttest_commit 7_F &&\n+\ttest_commit 7_G &&\n+\tgit checkout -b 7_4 7_2~1 &&\n+\ttest_commit 7_H &&\n+\tgit checkout -b 7_5 7_1~2 &&\n+\ttest_commit 7_I &&\n+\tgit checkout -b 7_6 7_3~1 &&\n+\ttest_commit 7_J &&\n+\tgit checkout -b M_1 7_1 &&\n+\tgit merge --no-ff 7_2 -m 7_M1 &&\n+\tgit checkout -b M_3 7_3 &&\n+\tgit merge --no-ff 7_4 -m 7_M2 &&\n+\tgit checkout -b M_5 7_5 &&\n+\tgit merge --no-ff 7_6 -m 7_M3 &&\n+\tgit checkout -b M_7 7_1 &&\n+\tgit merge --no-ff 7_2 7_3 -m 7_M4 &&\n+\n+\tcheck_graph M_1 M_3 M_5 M_7 <<-\\EOF\n+\t*   7_M1\n+\t|\\\n+\t| | *   7_M2\n+\t| | |\\\n+\t| | | * 7_H\n+\t| | | | *   7_M3\n+\t| | | | |\\\n+\t| | | | | * 7_J\n+\t| | | | * | 7_I\n+\t| | | | | | *   7_M4\n+\t| |_|_|_|_|/|\\\n+\t|/| | | | |/ /\n+\t| | |_|_|/| /\n+\t| |/| | | |/\n+\t| | | |_|/|\n+\t| | |/| | |\n+\t| | * | | | 7_G\n+\t| | | |_|/\n+\t| | |/| |\n+\t| | * | | 7_F\n+\t| * | | | 7_E\n+\t| | |/ /\n+\t| |/| |\n+\t| * | | 7_D\n+\t| | |/\n+\t| |/|\n+\t* | | 7_C\n+\t| |/\n+\t|/|\n+\t* | 7_B\n+\t|/\n+\t* 7_A\n+\tEOF\n+'\n+\n test_done\n-- \ngitgitgadget\n\n"},{"id":"389448","messageId":"pull.518.git.1578457675.gitgitgadget@gmail.com","threadId":"52592","inReplyTo":null,"subject":"[PATCH 0/2] Graph horizontal fix","fromName":"Derrick Stolee via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2020-01-08T04:27:53Z","receivedAt":"2020-01-08T04:28:00Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"This depends on ds/graph-assert-fix.\n\nThis is a non-critical (not needed for v2.25.0) response to the previous\ndiscussions [1] [2].\n\nWhile working to resolve the fix for the assert() bug, I noticed this\nregression when multiple edges wanted to collapse with horizontal lines. It\ntakes a reasonably large graph, but real projects are likely to demonstrate\nthis behavior.\n\nI arranged the series into two patches: 1. the (failing) test, and 2. the\nfix.\n\nThe fix commit includes some details about why the change to compress merge\ncommits caused this regression, and why I feel relatively confident that\nthis is a correct resolution.\n\nThanks, -Stolee\n\n[1] \nhttps://lore.kernel.org/git/faa954fa-ccb9-b034-a39d-d2f0696826ea@gmail.com/T/#t\n[2] \nhttps://lore.kernel.org/git/xmqqk1635gwu.fsf@gitster-ct.c.googlers.com/T/#t\n\nDerrick Stolee (2):\n  graph: add test to demonstrate horizontal line bug\n  graph: fix collapse of multiple edges\n\n graph.c                      | 10 ++++--\n t/t4215-log-skewed-merges.sh | 62 ++++++++++++++++++++++++++++++++++++\n 2 files changed, 70 insertions(+), 2 deletions(-)\n\n\nbase-commit: aa2121af50498c7ea9d5c4c87f9dc66605bf772b\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-518%2Fderrickstolee%2Fgraph-horizontal-fix-v1\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-518/derrickstolee/graph-horizontal-fix-v1\nPull-Request: https://github.com/gitgitgadget/git/pull/518\n-- \ngitgitgadget\n"},{"id":"389449","messageId":"12abb32531ed7125293986dc139a7ffed3839065.1578457675.git.gitgitgadget@gmail.com","threadId":"52592","inReplyTo":"pull.518.git.1578457675.gitgitgadget@gmail.com","subject":"[PATCH 2/2] graph: fix collapse of multiple edges","fromName":"Derrick Stolee via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2020-01-08T04:27:55Z","receivedAt":"2020-01-08T04:28:01Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"From: Derrick Stolee <dstolee@microsoft.com>\n\nThis fix resolves the previously-added test_expect_failure in\nt4215-log-skewed-merges.sh.\n\nThe issue lies in the \"else\" condition while updating the mapping\ninside graph_output_collapsing_line(). In 0f0f389f (graph: tidy up\ndisplay of left-skewed merges, 2019-10-15), the output of left-\nskewed merges was changed to allow an immediate horizontal edge in\nthe first parent, output by graph_output_post_merge_line() instead\nof by graph_output_collapsing_line(). This condensed the first line\nbehavior as follows:\n\nBefore 0f0f389f:\n\n\t| | | | | | *-.\n\t| | | | | | |\\ \\\n\t| |_|_|_|_|/ | |\n\t|/| | | | | / /\n\nAfter 0f0f389f:\n\n\t| | | | | | *\n\t| |_|_|_|_|/|\\\n\t|/| | | | |/ /\n\t| | | | |/| /\n\nHowever, a very subtle issue arose when the second and third parent\nedges are collapsed in later steps. The second parent edge is now\nimmediately adjacent to a vertical edge. This means that the\ncondition\n\n\t} else if (graph->mapping[i - 1] < 0) {\n\nin graph_output_collapsing_line() evaluates as false. The block for\nthis condition was the only place where we connected the target\ncolumn with the current position with horizontal edge markers.\n\nIn this case, the final \"else\" block is run, and the edge is marked\nas horizontal, but did not back-fill the blank columns between the\ntarget and the current edge. Since the second parent edge is marked\nas horizontal, the third parent edge is not marked as horizontal.\nThis causes the output to continue as follows:\n\nBefore this change:\n\n\t| | | | | | *\n\t| |_|_|_|_|/|\\\n\t|/| | | | |/ /\n\t| | | | |/| /\n\t| | | |/| |/\n\t| | |/| |/|\n\t| |/| |/| |\n\t| | |/| | |\n\nBy adding the logic for \"filling\" a horizontal edge between the\ntarget column and the current column, we are able to resolve the\nissue.\n\nAfter this change:\n\n\t| | | | | | *\n\t| |_|_|_|_|/|\\\n\t|/| | | | |/ /\n\t| | |_|_|/| /\n\t| |/| | | |/\n\t| | | |_|/|\n\t| | |/| | |\n\nThis output properly matches the expected blend of the edge\nbehavior before 0f0f389f and the merge commit rendering from\n0f0f389f.\n\nSigned-off-by: Derrick Stolee <dstolee@microsoft.com>\n---\n graph.c                      | 10 ++++++++--\n t/t4215-log-skewed-merges.sh |  2 +-\n 2 files changed, 9 insertions(+), 3 deletions(-)\n\ndiff --git a/graph.c b/graph.c\nindex aaf97069bd..4fb25ad464 100644\n--- a/graph.c\n+++ b/graph.c\n@@ -1233,8 +1233,14 @@ static void graph_output_collapsing_line(struct git_graph *graph, struct graph_l\n \t\t\t * prevent any other edges from moving\n \t\t\t * horizontally.\n \t\t\t */\n-\t\t\tif (horizontal_edge == -1)\n-\t\t\t\thorizontal_edge = i;\n+\t\t\tif (horizontal_edge == -1) {\n+\t\t\t\tint j;\n+\t\t\t\thorizontal_edge_target = target;\n+\t\t\t\thorizontal_edge = i - 1;\n+\n+\t\t\t\tfor (j = (target * 2) + 3; j < (i - 2); j += 2)\n+\t\t\t\t\tgraph->mapping[j] = target;\n+\t\t\t}\n \t\t}\n \t}\n \ndiff --git a/t/t4215-log-skewed-merges.sh b/t/t4215-log-skewed-merges.sh\nindex 099e4b89b4..1d0d3240ff 100755\n--- a/t/t4215-log-skewed-merges.sh\n+++ b/t/t4215-log-skewed-merges.sh\n@@ -311,7 +311,7 @@ test_expect_success 'log --graph with multiple tips and colors' '\n \ttest_cmp expect.colors actual.colors\n '\n \n-test_expect_failure 'log --graph with multiple tips' '\n+test_expect_success 'log --graph with multiple tips' '\n \tgit checkout --orphan 7_1 &&\n \ttest_commit 7_A &&\n \ttest_commit 7_B &&\n-- \ngitgitgadget\n"},{"id":"389454","messageId":"20200108072541.GC1675456@coredump.intra.peff.net","threadId":"52592","inReplyTo":"12abb32531ed7125293986dc139a7ffed3839065.1578457675.git.gitgitgadget@gmail.com","subject":"Re: [PATCH 2/2] graph: fix collapse of multiple edges","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2020-01-08T07:25:41Z","receivedAt":"2020-01-08T07:25:45Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Jan 08, 2020 at 04:27:55AM +0000, Derrick Stolee via GitGitGadget wrote:\n\n> Before this change:\n> \n> \t| | | | | | *\n> \t| |_|_|_|_|/|\\\n> \t|/| | | | |/ /\n> \t| | | | |/| /\n> \t| | | |/| |/\n> \t| | |/| |/|\n> \t| |/| |/| |\n> \t| | |/| | |\n> \n> By adding the logic for \"filling\" a horizontal edge between the\n> target column and the current column, we are able to resolve the\n> issue.\n> \n> After this change:\n> \n> \t| | | | | | *\n> \t| |_|_|_|_|/|\\\n> \t|/| | | | |/ /\n> \t| | |_|_|/| /\n> \t| |/| | | |/\n> \t| | | |_|/|\n> \t| | |/| | |\n\nHmm. Your description and your diagrams make sense to me. But one\ncurious thing is that the earlier test you added for 6_* does not need\nmodified. Because it continues to show:\n\n          | | | | * 6_F\n          | |_|_|/|\n          |/| | |/\n          | | |/|\n          | |/| |\n          | * | | 6_D\n\nrather than adding a horizontal component to the second-parent line.\nThat seems inconsistent.\n\n-Peff\n"},{"id":"389474","messageId":"7a0e4637-85de-589f-df31-915b4603e45a@gmail.com","threadId":"52592","inReplyTo":"20200108072541.GC1675456@coredump.intra.peff.net","subject":"Re: [PATCH 2/2] graph: fix collapse of multiple edges","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2020-01-08T13:40:26Z","receivedAt":"2020-01-08T13:40:29Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"On 1/8/2020 2:25 AM, Jeff King wrote:\n> On Wed, Jan 08, 2020 at 04:27:55AM +0000, Derrick Stolee via GitGitGadget wrote:\n> \n>> Before this change:\n>>\n>> \t| | | | | | *\n>> \t| |_|_|_|_|/|\\\n>> \t|/| | | | |/ /\n>> \t| | | | |/| /\n>> \t| | | |/| |/\n>> \t| | |/| |/|\n>> \t| |/| |/| |\n>> \t| | |/| | |\n>>\n>> By adding the logic for \"filling\" a horizontal edge between the\n>> target column and the current column, we are able to resolve the\n>> issue.\n>>\n>> After this change:\n>>\n>> \t| | | | | | *\n>> \t| |_|_|_|_|/|\\\n>> \t|/| | | | |/ /\n>> \t| | |_|_|/| /\n>> \t| |/| | | |/\n>> \t| | | |_|/|\n>> \t| | |/| | |\n> \n> Hmm. Your description and your diagrams make sense to me. But one\n> curious thing is that the earlier test you added for 6_* does not need\n> modified. Because it continues to show:\n> \n>           | | | | * 6_F\n>           | |_|_|/|\n>           |/| | |/\n>           | | |/|\n>           | |/| |\n>           | * | | 6_D\n> \n> rather than adding a horizontal component to the second-parent line.\n> That seems inconsistent.\n\nThe issue here is that there is not enough room for a second horizontal\nline. The horizontal line can only start after the previous has completely\nterminated, that is\n\n           | | | | * 6_F\n           | |_|_|/|\n           |/| | |/\n\nat this point, the first horizontal line has terminated.\n\n           | | |/|\n           | |/| |\n\nThe remaining movement for the second line has no room for a horizontal\nedge. The logic that I added is hit, but the for loop (over j) terminates\nimmediately without a single execution of the loop body.\n\nIf there was one more row to the example, then we would have:\n\n           | | | | | * 6_F\n           | |_|_|_|/|\n           |/| | | |/\n           | | |_|/|\n           | |/| | |\n           | * | | | 6_D\n\nThanks,\n-Stolee\n"},{"id":"389476","messageId":"20200108134945.GA3390419@coredump.intra.peff.net","threadId":"52592","inReplyTo":"7a0e4637-85de-589f-df31-915b4603e45a@gmail.com","subject":"Re: [PATCH 2/2] graph: fix collapse of multiple edges","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2020-01-08T13:49:45Z","receivedAt":"2020-01-08T13:49:49Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Jan 08, 2020 at 08:40:26AM -0500, Derrick Stolee wrote:\n\n> > Hmm. Your description and your diagrams make sense to me. But one\n> > curious thing is that the earlier test you added for 6_* does not need\n> > modified. Because it continues to show:\n> > \n> >           | | | | * 6_F\n> >           | |_|_|/|\n> >           |/| | |/\n> >           | | |/|\n> >           | |/| |\n> >           | * | | 6_D\n> > \n> > rather than adding a horizontal component to the second-parent line.\n> > That seems inconsistent.\n> \n> The issue here is that there is not enough room for a second horizontal\n> line. The horizontal line can only start after the previous has completely\n> terminated, that is\n> \n>            | | | | * 6_F\n>            | |_|_|/|\n>            |/| | |/\n> \n> at this point, the first horizontal line has terminated.\n\nAhhh, OK, that makes perfect sense. I didn't quite realize how the rules\nfor \"going horizontal\" worked.\n\n> If there was one more row to the example, then we would have:\n> \n>            | | | | | * 6_F\n>            | |_|_|_|/|\n>            |/| | | |/\n>            | | |_|/|\n>            | |/| | |\n>            | * | | | 6_D\n\nRight, that makes sense. Thanks for explaining. And the patch otherwise\nlooked good to me; your explanation convinced me that this is the right\nthing to do.\n\n-Peff\n"},{"id":"389492","messageId":"xmqq5zhl3jrm.fsf@gitster-ct.c.googlers.com","threadId":"52592","inReplyTo":"pull.518.git.1578457675.gitgitgadget@gmail.com","subject":"Re: [PATCH 0/2] Graph horizontal fix","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-01-08T18:06:37Z","receivedAt":"2020-01-08T18:06:45Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Derrick Stolee via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> This depends on ds/graph-assert-fix.\n>\n> This is a non-critical (not needed for v2.25.0) response to the previous\n> discussions [1] [2].\n>\n> While working to resolve the fix for the assert() bug, I noticed this\n> regression when multiple edges wanted to collapse with horizontal lines. It\n> takes a reasonably large graph, but real projects are likely to demonstrate\n> this behavior.\n>\n> I arranged the series into two patches: 1. the (failing) test, and 2. the\n> fix.\n>\n> The fix commit includes some details about why the change to compress merge\n> commits caused this regression, and why I feel relatively confident that\n> this is a correct resolution.\n\nI am not sure if this is \"fix\" of \"bug\" in that what is shown\nwithout 2/2 (iow, \"before this change\" in the description of 2/2) is\n\"wrong\" per-se---it is just that it leaves room to be made even more\ncompact.  It still is an improvement, of course, though.\n\nQueued.  Thanks.\n\n>\n> Thanks, -Stolee\n>\n> [1] \n> https://lore.kernel.org/git/faa954fa-ccb9-b034-a39d-d2f0696826ea@gmail.com/T/#t\n> [2] \n> https://lore.kernel.org/git/xmqqk1635gwu.fsf@gitster-ct.c.googlers.com/T/#t\n>\n> Derrick Stolee (2):\n>   graph: add test to demonstrate horizontal line bug\n>   graph: fix collapse of multiple edges\n>\n>  graph.c                      | 10 ++++--\n>  t/t4215-log-skewed-merges.sh | 62 ++++++++++++++++++++++++++++++++++++\n>  2 files changed, 70 insertions(+), 2 deletions(-)\n>\n>\n> base-commit: aa2121af50498c7ea9d5c4c87f9dc66605bf772b\n> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-518%2Fderrickstolee%2Fgraph-horizontal-fix-v1\n> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-518/derrickstolee/graph-horizontal-fix-v1\n> Pull-Request: https://github.com/gitgitgadget/git/pull/518\n"},{"id":"389501","messageId":"c69afbe7-3a9c-0619-594f-f5ba980ae7b8@gmail.com","threadId":"52592","inReplyTo":"xmqq5zhl3jrm.fsf@gitster-ct.c.googlers.com","subject":"Re: [PATCH 0/2] Graph horizontal fix","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2020-01-08T20:05:50Z","receivedAt":"2020-01-08T20:05:56Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"On 1/8/2020 1:06 PM, Junio C Hamano wrote:\n> \"Derrick Stolee via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n> \n>> This depends on ds/graph-assert-fix.\n>>\n>> This is a non-critical (not needed for v2.25.0) response to the previous\n>> discussions [1] [2].\n>>\n>> While working to resolve the fix for the assert() bug, I noticed this\n>> regression when multiple edges wanted to collapse with horizontal lines. It\n>> takes a reasonably large graph, but real projects are likely to demonstrate\n>> this behavior.\n>>\n>> I arranged the series into two patches: 1. the (failing) test, and 2. the\n>> fix.\n>>\n>> The fix commit includes some details about why the change to compress merge\n>> commits caused this regression, and why I feel relatively confident that\n>> this is a correct resolution.\n> \n> I am not sure if this is \"fix\" of \"bug\" in that what is shown\n> without 2/2 (iow, \"before this change\" in the description of 2/2) is\n> \"wrong\" per-se---it is just that it leaves room to be made even more\n> compact.  It still is an improvement, of course, though.\n\nI guess I was incomplete in my first example. The full horizontal behavior\nbefore 0f0f389f was\n\n\t| | | | | | *-.\n\t| | | | | | |\\ \\\n\t| |_|_|_|_|/ | |\n\t|/| | | | | / /\n\t| | |_|_|_|/ /\n\t| |/| | | | /\n\t| | | |_|_|/\n\t| | |/| | | \n\nand 0f0f389f added a compact merge commit, but lost two horizontal lines.\n\n\t| | | | | | *\n\t| |_|_|_|_|/|\\\n\t|/| | | | |/ /\n\t| | | | |/| /\n\t| | | |/| |/\n\t| | |/| |/|\n\t| |/| |/| |\n\t| | |/| | |\n\nThis change brings the horizontal lines back.\n\n\t| | | | | | *\n\t| |_|_|_|_|/|\\\n\t|/| | | | |/ /\n\t| | |_|_|/| /\n\t| |/| | | |/\n\t| | | |_|/|\n\t| | |/| | |\n\nWhether this qualifies as a \"bug\" is debatable, for sure. That's why I\nbelieve this change is below the bar for the release candidate.\n\nThanks,\n-Stolee\n"},{"id":"389504","messageId":"xmqqk1611wvs.fsf@gitster-ct.c.googlers.com","threadId":"52592","inReplyTo":"c69afbe7-3a9c-0619-594f-f5ba980ae7b8@gmail.com","subject":"Re: [PATCH 0/2] Graph horizontal fix","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-01-08T21:06:15Z","receivedAt":"2020-01-08T21:06:21Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Derrick Stolee <stolee@gmail.com> writes:\n\n> I guess I was incomplete in my first example. The full horizontal behavior\n> before 0f0f389f was\n> ...\n> This change brings the horizontal lines back.\n\nAh, I see.  That was what you meant by regression-and-fix.\n\nThanks.\n"}]}