git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Bert Wesarg <bert.wesarg@googlemail.com>
Subject: [PATCH 05/14] merge-file --diff3: add a label for ancestor
Date: Sat, 20 Mar 2010 19:37:33 -0500	[thread overview]
Message-ID: <20100321003733.GF23681@progeny.tock> (raw)
In-Reply-To: <20100321002535.GA23681@progeny.tock>

git merge-file --diff3 can be used to present conflicts hunks
including text from the common ancestor.

The added information is helpful for resolving a merge by hand, and
merge tools can usually grok it because it looks like output from
diff3 -m.  However, ‘diff3’ includes a label for the merge base on the
||||||| line and some tools cannot parse conflict hunks without such a
label.  Write the base-name as passed in a -L option (or the name of
the ancestor file by default) on that line.

git rerere will not have trouble parsing this output, since instead of
looking for a newline, it looks for whitespace after the |||||||
marker.  Since rerere includes its own code for recreating conflict
hunks, conflict identifiers are unaffected.  No other code in git tries
to parse conflict hunks.

Requested-by: Stefan Monnier <monnier@iro.umontreal.ca>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Adapts test for 11f3aa23 (merge-file: add option to specify the marker
size, 2010-03-01) as described at
<http://thread.gmane.org/gmane.comp.version-control.git/142374/focus=142378>.

 builtin/merge-file.c  |    1 +
 t/t6023-merge-file.sh |    4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/builtin/merge-file.c b/builtin/merge-file.c
index 65eb790..610849a 100644
--- a/builtin/merge-file.c
+++ b/builtin/merge-file.c
@@ -77,6 +77,7 @@ int cmd_merge_file(int argc, const char **argv, const char *prefix)
 					argv[i]);
 	}
 
+	xmp.ancestor = names[1];
 	xmp.file1 = names[0];
 	xmp.file2 = names[2];
 	ret = xdl_merge(mmfs + 1, mmfs + 0, mmfs + 2, &xmp, &result);
diff --git a/t/t6023-merge-file.sh b/t/t6023-merge-file.sh
index 5034dd1..d486d73 100755
--- a/t/t6023-merge-file.sh
+++ b/t/t6023-merge-file.sh
@@ -181,7 +181,7 @@ et nihil mihi deerit;
 
 In loco pascuae ibi me collocavit;
 super aquam refectionis educavit me.
-|||||||
+||||||| new5.txt
 et nihil mihi deerit.
 In loco pascuae ibi me collocavit,
 super aquam refectionis educavit me;
@@ -225,7 +225,7 @@ et nihil mihi deerit;
 
 In loco pascuae ibi me collocavit;
 super aquam refectionis educavit me.
-||||||||||
+|||||||||| new5.txt
 et nihil mihi deerit.
 In loco pascuae ibi me collocavit,
 super aquam refectionis educavit me;
-- 
1.7.0.2

  parent reply	other threads:[~2010-03-21  0:36 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-20 21:00 What's cooking in git.git (Mar 2010, #05; Sat, 20) Junio C Hamano
2010-03-21  0:25 ` [PATCH 0/14] jn/merge-diff3-label Jonathan Nieder
2010-03-21  0:27   ` [PATCH 01/14] tests: document format of conflicts from checkout -m Jonathan Nieder
2010-03-21  0:28   ` [PATCH 02/14] tests: document cherry-pick behavior in face of conflicts Jonathan Nieder
2010-03-21  0:31   ` [PATCH 03/14] xdl_merge(): add optional ancestor label to diff3-style output Jonathan Nieder
2010-03-21  0:35   ` [PATCH 04/14] xdl_merge(): move file1 and file2 labels to xmparam structure Jonathan Nieder
2010-03-21  0:37   ` Jonathan Nieder [this message]
2010-03-21  0:38   ` [PATCH 06/14] ll_merge(): add ancestor label parameter for diff3-style output Jonathan Nieder
2010-03-21  0:40   ` [PATCH 07/14] checkout --conflict=diff3: add a label for ancestor Jonathan Nieder
2010-03-21  0:40   ` [PATCH 08/14] merge_file(): add comment explaining behavior wrt conflict style Jonathan Nieder
2010-03-21  0:41   ` [PATCH 09/14] merge_trees(): add ancestor label parameter for diff3-style output Jonathan Nieder
2010-03-21  0:42   ` [PATCH 10/14] checkout -m --conflict=diff3: add a label for ancestor Jonathan Nieder
2010-03-21  0:43   ` [PATCH 11/14] compat: add mempcpy() Jonathan Nieder
2010-03-21  0:45   ` [PATCH 12/14] revert: clarify label on conflict hunks Jonathan Nieder
2010-03-21  0:46   ` [PATCH 13/14] cherry-pick, revert: add a label for ancestor Jonathan Nieder
2010-03-21  0:52   ` [PATCH 14/14] merge-recursive: " Jonathan Nieder

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

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

  git send-email \
    --in-reply-to=20100321003733.GF23681@progeny.tock \
    --to=jrnieder@gmail.com \
    --cc=bert.wesarg@googlemail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /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.
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 NNTP newsgroup(s).