Subject: Re: git-union-merge proposal

From: Jonathan Nieder <[email-masked]>
Date: Tue, 21 Jun 2011 00:22:34 -0500

Hi Joey,

Joey Hess wrote[1]:

> * git-annex stores location tracking information to log files in
>   .git-annex/; gitattributes is configured to use merge=union,
>   and the log files have timestamps or are otherwise structured to be
>   safely merged.
> * git notes merge -s cat_sort_uniq
>   Notes are stored in a tree using the object sha, which can be
>   union merged, when the notes' format is a series of independant lines.
> * probably other tools do things like this too, or will ...
>
> So I've written a prototype of a git-union-merge that could be used
> for all of these. It works like this:
>
> git union-merge foo origin/foo refs/heads/foo 

Hm, this makes a lot of sense.  Often a person needs a worktree anyway
to check the merge result for sanity, but as you say, that needn't
always be the case.

[...]
> Prototype is attached, I doubt it would be suitable for git as-is,

Does the GitRepo module that it uses come from git-annex?

If the prototype were self-contained, I would encourage you to submit
it for inclusion under contrib/ so it can evolve and eventually
graduate out of there.  Cc-ing Johan (who has no doubt thought through
these things in the context of "git notes") in case he has thoughts on
it.

Regards,
Jonathan

[1] http://thread.gmane.org/gmane.comp.version-control.git/176119