Linus Torvalds [off-list ref] writes:
Now, the downside is that the above is both a pain to type, and we don't
actually even save the MERGE_BASE as a head, so you actually have to
compute it yourself. It's easy enough to do:
git-merge-base HEAD MERGE_HEAD > .git/MERGE_BASE
will do it, but the fact is, we should make this even easier.
Heh, that's why I kept saying I want somebody to teach rev-list
a new notation, A...B, to mean $(merge-base A B)..B ;-).
In fact, after writing the above a few times, I really think there's a
case for making a helper function that does exactly the above for us.
Including all the "conflicting-filename" thing. It would be nice if
git log -p --merge [[--] filenames...]
would basically expand to
git log -p HEAD MERGE_HEAD
^$(git-merge-base HEAD MERGE_HEAD)
-- $(git-ls-files -u [filenames...])
so that I wouldn't have to type that by hand ever again, and doing a
git log -p --merge drivers/
would automatically give me exactly that for all the unmerged files in
drivers/.
Anybody want to try to make me happy, and learn some git internals at the
same time?
I fall in the former category but as the current maintainer I
feel I should leave chance to do the latter to others first. I
wouldn't call it "trivial" but it is not that hard -- I think I
can write it in my head (as Linus can).