git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v8 0/8] implement notes.mergeStrategy option
@ 2015-08-17  8:46 Jacob Keller
  2015-08-17  8:46 ` [PATCH v8 1/8] notes: document cat_sort_uniq rewriteMode Jacob Keller
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Jacob Keller @ 2015-08-17  8:46 UTC (permalink / raw)
  To: git; +Cc: Johan Herland, Eric Sunshine, Jacob Keller

From: Jacob Keller <jacob.keller@gmail.com>

- Changes since v7 -
* add patches to make rewrite and merge take same options
* camel case mergeStrategy
* move init_notes_check above reading git-config in merge()
  This is necessary as it ensures refs are inside refs/notes/*

It should be noted that git-notes already blocks all operations outside
of refs/notes, including merging from refs outside of refs/notes. This
series leaves the ability to merge from non-refs/notes refs as an
enhancement for a future author. However, git-notes also (correctly)
prevents merge (and any other option) into non refs/notes/* refs. You
may notice a "BUG:" print statement after skip_prefix, this is only as a
failsafe and is marked BUG since it should never be true.

Hopefully everything looks good now. I chose to add patches which
combine rewrite and notes-merge options to take the same parameters.
This does cause some weirdness since ours and theirs is swapped much
like in a rebase merge conflict.

If we dont' like this, I am ok with re-writing this to not document the
synonyms. However, I think that a good future direction would be to make
rewrite use the exact same flow as merge, and support the `manual` mode
as well using the full notes-merge harness.

Jacob Keller (8):
  notes: document cat_sort_uniq rewriteMode
  notes: extract enum notes_merge_strategy to notes-utils.h
  note: extract parse_notes_merge_strategy to notes-utils
  notes: allow use of the "rewrite" terminology for merge strategies
  notes: implement parse_combine_rewrite_fn using
    parse_notes_merge_strategy
  notes: add tests for --commit/--abort/--strategy exclusivity
  notes: add notes.mergeStrategy option to select default strategy
  notes: teach git-notes about notes.<ref>.mergeStrategy option

 Documentation/config.txt              |  22 +++++-
 Documentation/git-notes.txt           |  43 +++++++++--
 builtin/notes.c                       |  43 +++++++----
 notes-merge.h                         |  10 +--
 notes-utils.c                         |  50 ++++++++++---
 notes-utils.h                         |   9 +++
 t/t3301-notes.sh                      |  55 ++++++++++++++
 t/t3309-notes-merge-auto-resolve.sh   | 135 ++++++++++++++++++++++++++++++++++
 t/t3310-notes-merge-manual-resolve.sh |  12 +++
 9 files changed, 341 insertions(+), 38 deletions(-)

-- 
2.5.0.280.g4aaba03

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-08-17 19:35 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-17  8:46 [PATCH v8 0/8] implement notes.mergeStrategy option Jacob Keller
2015-08-17  8:46 ` [PATCH v8 1/8] notes: document cat_sort_uniq rewriteMode Jacob Keller
2015-08-17  8:46 ` [PATCH v8 2/8] notes: extract enum notes_merge_strategy to notes-utils.h Jacob Keller
2015-08-17  8:46 ` [PATCH v8 3/8] note: extract parse_notes_merge_strategy to notes-utils Jacob Keller
2015-08-17  8:46 ` [PATCH v8 4/8] notes: allow use of the "rewrite" terminology for merge strategies Jacob Keller
2015-08-17 12:54   ` Johan Herland
2015-08-17 18:28     ` Jacob Keller
2015-08-17 19:35     ` Junio C Hamano
2015-08-17  8:46 ` [PATCH v8 5/8] notes: implement parse_combine_rewrite_fn using parse_notes_merge_strategy Jacob Keller
2015-08-17  8:46 ` [PATCH v8 6/8] notes: add tests for --commit/--abort/--strategy exclusivity Jacob Keller
2015-08-17  8:46 ` [PATCH v8 7/8] notes: add notes.mergeStrategy option to select default strategy Jacob Keller
2015-08-17  8:46 ` [PATCH v8 8/8] notes: teach git-notes about notes.<ref>.mergeStrategy option Jacob Keller
2015-08-17 13:21   ` Johan Herland
2015-08-17 18:25     ` Jacob Keller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).