Skip to contentSkip to conversation

cherry-pick: fix docs describing handling of empty commits

PATCH In review Jeff King 1 participant 2 messages Jun 15, 2016 Documentation

lore
Share & tools
lore

Jeff King

author
#0 lore raw

PATCH 1/1 cherry-pick: fix docs describing handling of empty commits

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.

---
 Documentation/git-cherry-pick.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Documentation/git-cherry-pick.txt +2 -1
index 1c03c79..1147c71 100644
@@ -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>::
Signature · 1 line
2.4.0.rc0.363.gf9f328b
author
#1 lore raw
Quoted 19 lines · Jeff King

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.

---
 Documentation/git-cherry-pick.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Documentation/git-cherry-pick.txt +0 -0
index 1c03c79..1147c71 100644

Documentation/git-cherry-pick.txt effect to your index in a row. · line 136

Quoted 7 lines
Documentation/git-cherry-pick.txt +2 -1
@@ -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