Re: 'git notes merge' implementation questions
- From
Johan Herland <johan@herland.net>
- Date
- Apr 22, 2010, 08:38 UTC
- Message-ID
- <201004221038.25487.johan@herland.net>
- In-Reply-To
- <7vzl0w730b.fsf@alter.siamese.dyndns.org>
On Thursday 22 April 2010, Junio C Hamano wrote:
Show 13 quoted lines
> Johan Herland <johan@herland.net> writes:
> > Next, we will need to be somewhat careful about using "ls-tree", to
> > avoid needlessly unpacking subtrees that are identical between <ours>
> > and <theirs>.
>
> My mentioning of "ls-tree" is only about what needs to be done at the
> conceptual level. In practice, assuming that notes trees have mostly the
> same fan-out structure, you would run "diff-tree -r" of (base,ours) and
> (base,theirs) pair _without_ anything fancy like rename detection, and
> pick out pieces (one tree may have ab/cdx{36} while the other tree may
> have abcd/x{36} that are notes about the same object---you treat this as
> if it is a partial ls-tree output that pertains only to the different
> parts, and make canonical "list of annotated objects" by removing '/'.Got it. Brilliant, and obvious, really, when I think about it...
> All of this is very specific to merging "notes" and normal "merge" does > not even want to know about it; I don't think you can avoid doing this > yourself without touching "merge" if you want to merge "notes" correctly.
Agreed. From your feedback, I now have a much clearer picture on how to proceed. Thanks! :)
Have fun!
...Johan
-- Johan Herland, <johan@herland.net> www.herland.net