threads / patch / 38953

patchcherry-pick: fix docs describing handling of empty commits

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

## tl;dr

2 messages between Mar 31, 2015 and Mar 31, 2015. Diffs are folded; open one to read it.

replies: 1people: 1as markdown or json

Jeff King· Mar 31, 2015, 01:08 UTC · lore

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(-)
Show changes to Documentation/git-cherry-pick.txt +2 −1
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`.
 
 --strategy=<strategy>::
-- 
2.4.0.rc0.363.gf9f328b
Jeff King· Mar 31, 2015, 01:21 UTC · re: Jeff King · lore

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

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

← back to recent threads