Re: LCA06 Cogito/GIT workshop - (Re: git-whatchanged: exit out early on errors)
- From
Fredrik Kuivinen <freku045@student.liu.se>
- Date
- Jan 29, 2006, 10:12 UTC
- Message-ID
- <20060129101225.GA4815@c165.ib.student.liu.se>
- In-Reply-To
- <Pine.LNX.4.64.0601280047240.2909@evo.osdl.org>
On Sat, Jan 28, 2006 at 12:53:31AM -0500, Linus Torvalds wrote:
Show 14 quoted lines
> > > On Sat, 28 Jan 2006, Martin Langhoff wrote: > > > > BTW, have you still got that patch to git-merge to seed the commit msg > > with conflicted files? ;-) > > Nope. But it was something like the appended (totally untested, and > slightly improved). > > The point being that we'd fill in a template that the committer will > hopefully edit to explain what he did to fix up the merge for each file > that had conflicts. >
Would it make sense to add an optional
mergeresult <tree>
line to merge commit objects? Here <tree> is supposed to be a SHA1 of the tree object which corresponds to the result of the automatic part of a merge. Hence, for a given merge commit which had conflicts "git-diff-tree <commit SHA1> <mergeresult SHA1>" would give a diff which shows the changes that was applied to resolve the conflict.
When the recursive merge strategy is used we actually write the 'mergeresult' tree object to the object database, so this thing should be straight forward to implement in that case. If there is interest it could be implemented for the resolve strategy too.
I think those mergeresult lines might be useful when implementing git-annotate across merges too. It makes it easy to distinguish changes which came from the merged branches and changes introduced in the merge itself.
It would not be backwards compatible with the current git though...
- Fredrik