RFH: is the current file available to a custom merge driver?
[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
Hi Eric,
Quoted 8 lines · Eric Raible
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.
Quoted 9 lines · Jonathan Nieder
Hi Eric,
Quoted 5 lines · Eric Raible
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.
Quoted 7 lines
Quoted 3 lines
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.cto 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))