git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [BUG/PATCH 0/5] t4214: cleanup and demonstrate graph bug

From
Denton Liu <liu.denton@gmail.com>
Date
Sep 25, 2019, 17:09 UTC
Message-ID
<20190925170902.GA11547@dentonliu-ltm.internal.salesforce.com>
In-Reply-To
<cover.1569407150.git.liu.denton@gmail.com>
On Wed, Sep 25, 2019 at 03:26:57AM -0700, Denton Liu wrote:
> I tried my hand at fixing the bug but in the hour I spent going at it, I
> couldn't fix the logic up. The buggy logic is in graph.c:
> graph_draw_octopus_merge() in case anyone is interested.

I guess for the record, this was the final patch that I ended up with. Two issues with it, though:

1. It assumes that there can be no parallel paths on the right side,
which I'm not sure is a correct assumption.
2. It _still_ fails my last proposed test case.
-- >8 --
diff --git a/graph.c b/graph.c
index f53135485f..f9395a2327 100644
--- a/graph.c
+++ b/graph.c
@@ -881,8 +881,7 @@ static int graph_draw_octopus_merge(struct git_graph *graph,
 	/*
 	 * In both cases, commit_index corresponds to the edge labeled "0".
 	 */
-	int first_col = graph->commit_index + dashless_parents
-	    - parent_in_old_cols;
+	int first_col = graph->num_new_columns - dashful_parents;
 
 	int i;
 	for (i = 0; i < dashful_parents; i++) {
Previous: Denton LiuNext: Jeff King
Message 7 of 16 in “t4214: cleanup and demonstrate graph bug”
  1. 0/5 t4214: cleanup and demonstrate graph bugDenton Liu, Sep 25, 2019
  2. 1/5 test-lib: let test_merge() perform octopus mergesDenton Liu, Sep 25, 2019
  3. 2/5 t4214: use test_mergeDenton Liu, Sep 25, 2019
  4. 3/5 t4214: generate expect in their own test casesDenton Liu, Sep 25, 2019
  5. 4/5 t4214: explicitly list tags in logDenton Liu, Sep 25, 2019
  6. 5/5 t4214: demonstrate octopus graph coloring failureDenton Liu, Sep 25, 2019
  7. Denton LiuSep 25, 2019
  8. Jeff KingSep 26, 2019
  9. Junio C HamanoOct 3, 2019
  10. 0/5 t4214: cleanup and demonstrate graph bugDenton Liu, Oct 4, 2019
  11. 1/5 test-lib: let test_merge() perform octopus mergesDenton Liu, Oct 4, 2019
  12. 4/5 t4214: explicitly list tags in logDenton Liu, Oct 4, 2019
  13. 2/5 t4214: use test_mergeDenton Liu, Oct 4, 2019
  14. 3/5 t4214: generate expect in their own test casesDenton Liu, Oct 4, 2019
  15. 5/5 t4214: demonstrate octopus graph coloring failureDenton Liu, Oct 4, 2019
  16. Junio C HamanoOct 4, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.