Thread (1 message) 1 message, 1 author, 2016-06-15
  • (off-list ancestor, not in this archive)
  • Re: Git Notes Usage · Junio C Hamano <hidden> · 2016-06-15

Re: Git Notes Usage

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:48:24

Michael J Gruber [off-list ref] writes:
quoted
Also, if two people write notes into the same namespace at the
same time, how does one merge them?  Is the only way to do so to
actually checkout the notes branch into your working directory and
merge the notes trees?
I'd say every merge needs a working directory, so, yes.
While that is true in the most general case, I do not necessarily agree
that people would use notes that way.

Merging two notes trees would require a lot more than the ordinary merge
machinery offers (there is a tree rebalancing logic in notes tree
mechanism, and notes specific merge that is yet to be written should take
advantage of it) and if one wants to do the merge manually, you would need
to check them out in a working tree.

The "notes copy" feature (parked in 'pu') lets you deal with conflicts by
allowing you to concatenate (or overwrite) while copying a note for commit
Y to another commit X and when X already has a note attached to it.  If
you think about it, it is merging an old note (that came from emptiness)
with a new note (that also came from emptiness) using an emptiness as
their common ancestor, i.e. two-tree merge with "union" merge semantics
(or "ours" if you say "overwrite", "theirs" if you say "ignore").

I suspect that in practice people would want notes to be resolved more
automatically and inclusively (read: union merge) compared to how the
normal payload would be merged, without the need to have a checkout in the
working tree.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help