threads / discuss / 24923

RFH: is the current file available to a custom merge driver?

Subject: RFH: is the current file available to a custom merge driver?

## tl;dr

3 messages between Aug 31, 2010 and Aug 31, 2010.

replies: 2people: 2as markdown or json

Eric Raible· Aug 31, 2010, 18:52 UTC · lore
[Note: this is a resend - the initial attempt got no responses]
Hello All -

In writing a custom merge driver to support $dayjob requirements I've failed to find a simple way of getting the current file name that the driver is supposed to be merging.

I of course have the "ancestor", "ours", and "theirs" temporary files, but for Ui purposes I'd like to know the filename as well.

As a workaround, I'm grepping for the git-hash-object of %A (aka "ours) from the output of "git ls-tree -r HEAD".

I've examined the environment, and saw nothing relevant. "git-ls-files -u" isn't useful, since the items aren't unmerged yet.

Can anyone offer hints/help/tips?
Thanks - Eric
git version 1.7.0.2.msysgit.0
Jonathan Nieder· Aug 31, 2010, 18:57 UTC · re: Eric Raible · lore

Re: RFH: is the current file available to a custom merge driver?

Hi Eric,
Eric Raible wrote:
Show 8 quoted lines
> In writing a custom merge driver to support $dayjob
> requirements I've failed to find a simple way of getting
> the current file name that the driver is supposed to
> be merging.
> 
> I of course have the "ancestor", "ours", and "theirs"
> temporary files, but for Ui purposes I'd like to know
> the filename as well.

It's not available. You can try modifying ll-merge.c to expose it if you have an idea about how that should work.

Eric Raible· Aug 31, 2010, 19:07 UTC · re: Jonathan Nieder · lore

Re: RFH: is the current file available to a custom merge driver?

On 8/31/2010 11:57 AM, Jonathan Nieder wrote:
Show 16 quoted lines
> Hi Eric,
> 
> Eric Raible wrote:
> 
>> In writing a custom merge driver to support $dayjob
>> requirements I've failed to find a simple way of getting
>> the current file name that the driver is supposed to
>> be merging.
>>
>> I of course have the "ancestor", "ours", and "theirs"
>> temporary files, but for Ui purposes I'd like to know
>> the filename as well.
> 
> It's not available.  You can try modifying ll-merge.c to
> expose it if you have an idea about how that should work.
> .

Thanks Jonathan for the (very!) quick response, but since time is short I think I'll stick with my current technique (grepping $(git ls-tree -r HEAD) for $(git hash-object %A))

← back to recent threads