Felipe Contreras <felipe.contre...@gmail.com> writes:

> +static void finish(struct replay_opts *opts)
> +{
> +     if (opts->action != REPLAY_PICK)
> +             return;
> +
> +     run_rewrite_hook(&rewritten, "cherry-pick");
> +     copy_rewrite_notes(&rewritten, "cherry-pick");
> +}
> +

Ok, so I see that with the previous two commits, you automatically get
handling of the notes.rewrite.cherry-pick variable and friends.  This is
good.

However, there are some open points:

* The docs in git-config(1) "notes.rewrite.cherry-pick" and githooks(5)
  "post-rewrite" and are now stale in so far as they contain a list of
  commands doing rewriting.

* This pretends to be cherry-pick even when the hook is called from
  rebase.

  We could claim (and document) that git-rebase with certain options
  shall be the same as running cherry-pick with some other options.
  However, git-am already goes out of its way to ensure that it only
  does the rewriting/post-rewrite if called from rebase (so that the
  user-facing git-am command is not affected).  So it's more consistent
  to ensure that git-cherry-pick, when called from rebase, also pretends
  to be rebase.

* githooks(5) documents explicitly that by the time post-rewrite is
  called, the notes have been rewritten.  Your change does it in the
  opposite order.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to