git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jacob Keller <jacob.e.keller@intel.com>
To: git@vger.kernel.org
Cc: Johan Herland <johan@herland.net>,
	Eric Sunshine <sunshine@sunshineco.com>,
	Jacob Keller <jacob.keller@gmail.com>
Subject: [PATCH v8 0/8] implement notes.mergeStrategy option
Date: Mon, 17 Aug 2015 01:46:23 -0700	[thread overview]
Message-ID: <1439801191-3026-1-git-send-email-jacob.e.keller@intel.com> (raw)

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

             reply	other threads:[~2015-08-17  8:47 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-17  8:46 Jacob Keller [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1439801191-3026-1-git-send-email-jacob.e.keller@intel.com \
    --to=jacob.e.keller@intel.com \
    --cc=git@vger.kernel.org \
    --cc=jacob.keller@gmail.com \
    --cc=johan@herland.net \
    --cc=sunshine@sunshineco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).