[WIP/RFC 00/13] git notes merge

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Here are some rough patches implementing most of the 'git notes merge'
functionality. There are still missing pieces in the area of manual
conflict resolution, but what's here should be enough to start
experimenting with automatic notes merge resolution.

Patches #1 - #8 + #10 are a combination of general cleanup and
preparations for 'git notes merge'. Patch #9 implements handling
of trivial notes merges ("already up-to-date" and "fast-forward").
Patch #11 implements object-level merging of notes, using regular
three-way rules. Patch #12 adds a few automatic conflict resolvers
that can be used instead of manual conflict resolution (which has
yet to be implemented). Patch #13 adds some preliminary docs.

For now, this is probably only ready for those with a special
interest in notes.


Have fun! :)

...Johan


Johan Herland (13):
  (trivial) notes.h: Minor documentation fixes to copy_notes()
  notes.h: Make default_notes_ref() available in notes API
  notes.h/c: Clarify the handling of notes objects that are == null_sha1
  notes.h/c: Propagate combine_notes_fn return value to add_note() and beyond
  (trivial) t3303: Indent with tabs instead of spaces for consistency
  notes.c: Use two newlines (instead of one) when concatenating notes
  (trivial) git notes prune: Accept --verbose in addition to -v
  builtin/notes.c: Split notes ref DWIMmery into a separate function
  git notes merge: Initial implementation handling trivial merges only
  builtin/notes.c: Refactor creation of notes commits.
  git notes merge: Handle real, non-conflicting notes merges
  git notes merge: Add automatic conflict resolvers (ours, theirs, union)
  Documentation: Preliminary docs on 'git notes merge'

 Documentation/git-notes.txt         |   30 ++-
 Makefile                            |    2 +
 builtin.h                           |    2 +-
 builtin/notes.c                     |  130 ++++++--
 notes-cache.c                       |    3 +-
 notes-merge.c                       |  474 +++++++++++++++++++++++++
 notes-merge.h                       |   59 +++
 notes.c                             |  196 ++++++-----
 notes.h                             |   46 +++-
 t/t3301-notes.sh                    |    4 +
 t/t3303-notes-subtrees.sh           |   19 +-
 t/t3308-notes-merge.sh              |  669 +++++++++++++++++++++++++++++++++++
 t/t3309-notes-merge-auto-resolve.sh |  512 +++++++++++++++++++++++++++
 t/t3404-rebase-interactive.sh       |    1 +
 t/t9301-fast-import-notes.sh        |    5 +
 15 files changed, 2014 insertions(+), 138 deletions(-)
 create mode 100644 notes-merge.c
 create mode 100644 notes-merge.h
 create mode 100755 t/t3308-notes-merge.sh
 create mode 100755 t/t3309-notes-merge-auto-resolve.sh

--
1.7.2.220.gea1d3

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]