[PATCH 2/2] doc: cherry-pick: note --no-commit skips CHERRY_PICK_HEAD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]




The list of what happens when a change is hard to apply states without
qualification that CHERRY_PICK_HEAD is set. Under --no-commit it is
not: d7e5c0cbfb (Introduce CHERRY_PICK_HEAD, 2011年02月19日) skips the ref
on purpose there, expecting the user to pick further commits and edit
the result before committing.
The option's own description says nothing about the ref or about
authorship. "git commit" reads the author of a cherry-pick from
CHERRY_PICK_HEAD, so a commit made after "cherry-pick --no-commit"
records your own identity as the author. Picking a single commit this
way still leaves its log message in MERGE_MSG, so the result reads
like a faithful pick apart from the author.
Assisted-by: LLM
Signed-off-by: Aleksei Sviridkin <f@xxxxxx>
---
Notes:
 The trap is sharpest in the use this option's own description
 recommends. Picking several commits in a row leaves one commit that
 carries the last picked commit's message over the combined effect of
 all of them, under the committer's authorship, with nothing on screen
 to say so. The added text scopes the "git commit -c" remedy to the
 single-commit case, since after several picks there is no one original
 author to restore.
 
 One more thing worth knowing when following that advice: if the picks
 were made with -x, the "(cherry picked from commit ...)" line lives in
 MERGE_MSG, and "git commit -c <commit>" replaces the message with the
 original commit's and drops the annotation.
 
 I left git-revert.adoc alone on purpose. "revert --no-commit" does
 write REVERT_HEAD (t3507), so the two commands are asymmetric here, but
 a revert's authorship belongs to the reverter either way, so there is
 no equivalent consequence to document there. Documentation/revisions.adoc
 describes CHERRY_PICK_HEAD without the --no-commit qualification as
 well; I can send that as a follow-up if it is wanted.
 Documentation/git-cherry-pick.adoc | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/Documentation/git-cherry-pick.adoc b/Documentation/git-cherry-pick.adoc
index 42b41923d5..d352e7e956 100644
--- a/Documentation/git-cherry-pick.adoc
+++ b/Documentation/git-cherry-pick.adoc
@@ -25,7 +25,8 @@ happens:
 1. The current branch and `HEAD` pointer stay at the last commit
 successfully made.
 2. The `CHERRY_PICK_HEAD` ref is set to point at the commit that
- introduced the change that is difficult to apply.
+ introduced the change that is difficult to apply, unless the
+ `--no-commit` option was given.
 3. Paths in which the change applied cleanly are updated both
 in the index file and in your working tree.
 4. For conflicting paths, the index file records up to three
@@ -101,6 +102,11 @@ OPTIONS
 +
 This is useful when cherry-picking more than one commits'
 effect to your index in a row.
++
+Because `CHERRY_PICK_HEAD` is not recorded, the commit you make
+afterwards records you as its author. When a single commit is picked
+this way, `git commit -c <commit>` keeps the original authorship and
+log message.
 
 -s::
 --signoff::
-- 
2.55.0

[Index of Archives] [Linux Kernel Development] [Gcc Help] [IETF Annouce] [DCCP] [Netdev] [Networking] [Security] [V4L] [Bugtraq] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Security] [Linux RAID] [Linux SCSI] [Fedora Users]

(追記) (追記ここまで)
Powered by Linux

AltStyle によって変換されたページ (->オリジナル) /