# How do I label conflict blocks in merge-recursive output?

2 messages from 2007-06-29 to 2007-06-29. Participants: しらいしななこ, Johannes Schindelin.
Thread: https://gitlist.dev/t/8775

## しらいしななこ, 2007-06-29 14:28

Subject: How do I label conflict blocks in merge-recursive output?
Message-ID: <20070629232849.6117@nanako3.bluebottle.com>
URL: https://gitlist.dev/e/20070629232849.6117%40nanako3.bluebottle.com

```
Hi, I am updating my 'git-save' script and have a question.  

When I play back the state previously recorded, I run:

   $ git-merge-recursive $base -- HEAD $stash

This is done after getting the $base (the state the stash was made from),
and $stash (the state of the interrupted work recorded in the stash) in
these variables.  When there are conflicts, I see '<<<<<<<' and '>>>>>>>'
markers in the merged file.

A trouble I am seeing is that there are large hexadecimal string after
these markers, like this:

   <<<<<<< 13bd5d46b4a5d4ef44c53fab11e74801c18b16d0:A
   side
   revision
   =======
   local
   modification
   >>>>>>> 9aa4ad6a3bdf5340bed969f6e14abb4e07e794f7:A

I do not know what object these are, and I do not think it is useful to
show them to the user.  I want them to say something more useful.

In a real conflict after a 'git-pull', I think I saw nicer labels that are
not hexadecimal strings after these markers.

How do I tell merge-recursive to do that?  I tried to read the
documentation for merge-recursive but there is no manual page.

TIA

-- 
Nanako Shiraishi
http://ivory.ap.teacup.com/nanako3/

----------------------------------------------------------------------
Find out how you can get spam free email.
http://www.bluebottle.com

```

## Johannes Schindelin, 2007-06-29 17:16

Subject: Re: How do I label conflict blocks in merge-recursive output?
Message-ID: <Pine.LNX.4.64.0706291806120.4438@racer.site>
URL: https://gitlist.dev/e/Pine.LNX.4.64.0706291806120.4438%40racer.site
In-Reply-To: <20070629232849.6117@nanako3.bluebottle.com>

```
Hi,

On Fri, 29 Jun 2007, しらいしななこ wrote:

> A trouble I am seeing is that there are large hexadecimal string after
> these markers, like this:
> 
>    <<<<<<< 13bd5d46b4a5d4ef44c53fab11e74801c18b16d0:A
>    side
>    revision
>    =======
>    local
>    modification
>    >>>>>>> 9aa4ad6a3bdf5340bed969f6e14abb4e07e794f7:A
> 
> I do not know what object these are, and I do not think it is useful to 
> show them to the user.  I want them to say something more useful.
>
> [...]
>
> How do I tell merge-recursive to do that?  I tried to read the 
> documentation for merge-recursive but there is no manual page.

Yes, it is unfortunately undocumented. To override the name for a given 
SHA-1 (which is the long hex string, and which you can obtain by 
"git-rev-parse <commit>"), set the environment variable

	GITHEAD_<sha1>="This is a much nicer message"

IOW If you would have done this (_before_ calling merge-recursive):

	export GITHEAD_9aa4ad6a3bdf5340bed969f6e14abb4e07e794f7=nanako

then the last conflict marker would have read

	>>>>>>> nanako:A

Hth,
Dscho

```
