git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Hemmo Nieminen <hemmo.nieminen@iki.fi>
To: John Keeping <john@keeping.me.uk>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] graph: Fix log's graph's colors when merging branches.
Date: Thu, 17 Oct 2013 20:16:01 +0300	[thread overview]
Message-ID: <20131017171601.GB3747@duunidell> (raw)
In-Reply-To: <20131017081336.GS27238@serenity.lan>

[-- Attachment #1: Type: text/plain, Size: 374 bytes --]

Hi,

On 09:13 Thu 17 Oct, John Keeping wrote:
> It took me a minute to spot the problem when I tested this, but you're
> right that there is a bug and I agree that the patch below is the right
> fix.
> 
> Perhaps a better commit message will help others looking at this, maybe
> something like this?

Updated the patch. Attaching it here.


-- 
Best Regards
Hemmo Nieminen


[-- Attachment #2: 0001-graph-fix-coloring-around-octopus-merges.patch --]
[-- Type: text/x-diff, Size: 1613 bytes --]

>From 46b7ae56e08bc8ca9c29697da2c1210bd2a242b0 Mon Sep 17 00:00:00 2001
From: Hemmo Nieminen <hemmo.nieminen@iki.fi>
Date: Wed, 16 Oct 2013 11:28:50 +0300
Subject: [PATCH v2] graph: fix coloring around octopus merges

When drawing the graph of an octopus merge, we draw a horizontal line
from parents 3 and above into the asterisk representing the commit. The
sections of this line should be colored to match the graph lines coming
in from above.

However, if the commit is not in the left-most column we do not take
into account the columns to the left of the commit when calculating
these colors. Fix this by adding the appropriate offset to the column
index used for calculating the color.

Signed-off-by: Hemmo Nieminen <hemmo.nieminen@iki.fi>
---

Notes:
    Commit 211232b (Octopus merge of the following five patches.,
    2005-05-05) in git.git's history exhibits this problem.

 graph.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/graph.c b/graph.c
index b24d04c..6404331 100644
--- a/graph.c
+++ b/graph.c
@@ -801,10 +801,10 @@ static int graph_draw_octopus_merge(struct git_graph *graph,
 	int num_dashes =
 		((graph->num_parents - dashless_commits) * 2) - 1;
 	for (i = 0; i < num_dashes; i++) {
-		col_num = (i / 2) + dashless_commits;
+		col_num = (i / 2) + dashless_commits + graph->commit_index;
 		strbuf_write_column(sb, &graph->new_columns[col_num], '-');
 	}
-	col_num = (i / 2) + dashless_commits;
+	col_num = (i / 2) + dashless_commits + graph->commit_index;
 	strbuf_write_column(sb, &graph->new_columns[col_num], '.');
 	return num_dashes + 1;
 }
-- 
1.8.4.1


      reply	other threads:[~2013-10-17 17:17 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-17  6:52 [PATCH] graph: Fix log's graph's colors when merging branches Hemmo Nieminen
2013-10-17  8:13 ` John Keeping
2013-10-17 17:16   ` Hemmo Nieminen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131017171601.GB3747@duunidell \
    --to=hemmo.nieminen@iki.fi \
    --cc=git@vger.kernel.org \
    --cc=john@keeping.me.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).