git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] cherry-pick: fix docs describing handling of empty commits

From
Jeff King <peff@peff.net>
Date
Mar 31, 2015, 01:21 UTC
Message-ID
<20150331012102.GA17961@peff.net>
In-Reply-To
<20150331010854.GA17811@peff.net>
On Mon, Mar 30, 2015 at 09:08:54PM -0400, Jeff King wrote:
Show 26 quoted lines
> Commit b27cfb0 (git-cherry-pick: Add keep-redundant-commits
> option, 2012-04-20), added the --keep-redundant-commits
> option, and switched the default behavior (without that
> option) to silently ignore empty commits. Later, the second
> half of that commit was reverted in ac2b0e8 (cherry-pick:
> regression fix for empty commits, 2012-05-29), but the
> documentation added for --keep-redundant-commits was never
> updated to match. Let's do so now.
> 
> Signed-off-by: Jeff King <peff@peff.net>
> ---
>  Documentation/git-cherry-pick.txt | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/git-cherry-pick.txt b/Documentation/git-cherry-pick.txt
> index 1c03c79..1147c71 100644
> --- a/Documentation/git-cherry-pick.txt
> +++ b/Documentation/git-cherry-pick.txt
> @@ -131,7 +131,8 @@ effect to your index in a row.
>  --keep-redundant-commits::
>  	If a commit being cherry picked duplicates a commit already in the
>  	current history, it will become empty.  By default these
> -	redundant commits are ignored.  This option overrides that behavior and
> +	redundant commits cause `cherry-pick` to stop so the user can
> +	examine the commit. This option overrides that behavior and
>  	creates an empty commit object.  Implies `--allow-empty`.
As an aside, I think what b27cfb0 was trying to do was make:
  git cherry-pick foo~5
  git cherry-pick foo~10..foo

work without stopping (by silently omitting foo~5 in the second cherry-pick). But it regressed:

  git cherry-pick foo~5
  git cherry-pick foo~5

which should complain (there was nothing to pick). The fix for that in ac2b0e8 restored the original behavior, and we always stop, even in the middle of a sequence.

At least that's my guess from reading the nearby thread[1]. I think I slightly prefer the "auto-skip" behavior, but I don't care enough to work on it right now. It's been long enough since the original series that I doubt new patches are forth-coming, so I decided on just doing the documentation patch for now. :)

-Peff
[1] http://thread.gmane.org/gmane.comp.version-control.git/198319/focus=198926
Previous: Jeff King
Message 2 of 2 in “cherry-pick: fix docs describing handling of empty commits”
  1. cherry-pick: fix docs describing handling of empty commitsJeff King, Mar 31, 2015
  2. Jeff KingMar 31, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.