From: "Michael S. Tsirkin" <mst@redhat.com>
To: git@vger.kernel.org
Cc: bafain@gmail.com, sunshine@sunshineco.com
Subject: [PATCH 2/4] git-rebase: document ack
Date: Sun, 10 Apr 2016 16:54:47 +0300 [thread overview]
Message-ID: <1460296343-17304-3-git-send-email-mst@redhat.com> (raw)
In-Reply-To: <1460296343-17304-1-git-send-email-mst@redhat.com>
document ack! behaviour and use
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
Documentation/git-rebase.txt | 45 +++++++++++++++++++++++++++++++++++++++-----
1 file changed, 40 insertions(+), 5 deletions(-)
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index 0387b40..257d75c 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -402,7 +402,7 @@ or by giving more than one `--exec`:
+
If `--autosquash` is used, "exec" lines will not be appended for
the intermediate commits, and will only appear at the end of each
-squash/fixup series.
+squash/fixup/ack series.
+
This uses the `--interactive` machinery internally, but it can be run
without an explicit `--interactive`.
@@ -419,13 +419,13 @@ without an explicit `--interactive`.
--autosquash::
--no-autosquash::
- When the commit log message begins with "squash! ..." (or
- "fixup! ..."), and there is a commit whose title begins with
+ When the commit log message begins with "squash! ..." ("fixup! ..."
+ or "ack! ..."), and there is a commit whose title begins with
the same ..., automatically modify the todo list of rebase -i
so that the commit marked for squashing comes right after the
commit to be modified, and change the action of the moved
- commit from `pick` to `squash` (or `fixup`). Ignores subsequent
- "fixup! " or "squash! " after the first, in case you referred to an
+ commit from `pick` to `squash` (`fixup` or `ack`). Ignores subsequent
+ "ack! ", "fixup! " or "squash! " after the first, in case you referred to an
earlier fixup/squash with `git commit --fixup/--squash`.
+
This option is only valid when the '--interactive' option is used.
@@ -649,6 +649,41 @@ consistent (they compile, pass the testsuite, etc.) you should use
'git stash' to stash away the not-yet-committed changes
after each commit, test, and amend the commit if fixes are necessary.
+----------------
+RECORDING ACKS
+----------------
+
+Interactive mode with --autosquash can be used to concatenate
+commit log for several commits, which is useful to record
+extra information about the commit, such as ack signatures.
+This allows, for example, the following workflow:
+
+1. receive patches by mail and commit
+2. receive by mail ack signatures for the patches
+3. prepare a series for submission
+4. submit
+
+where point 2. consists of several instances of
+ i) create a (possibly empty) commit with signature
+ in the commit message
+
+Sometimes the ack signature added in i. cannot be amended to the
+commit it acks, because that commit is buried deeply in a
+patch series. That is exactly what rebase --autosquash
+option is for: use it
+after plenty of "i"s, to automaticlly rearrange
+commits, and squashing multiple sign-off commits into
+the commit that is signed.
+
+Start it with the last commit you want to retain as-is:
+
+ git rebase --autosquash -i <after-this-commit>
+
+An editor will be fired up with all the commits in your current branch
+which come after the given commit. Ack commits will be
+re-arranged to come after the commit that is acked,
+and the action will be automatically changed from `pick` to `ack`
+to cause them to be squashed into the acked commit.
RECOVERING FROM UPSTREAM REBASE
-------------------------------
--
MST
next prev parent reply other threads:[~2016-04-10 13:55 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-10 13:54 [PATCH 0/4] support for ack commits Michael S. Tsirkin
2016-04-10 13:54 ` [PATCH 1/4] rebase -i: add ack action Michael S. Tsirkin
2016-04-11 11:02 ` Johannes Schindelin
2016-04-11 11:24 ` Michael S. Tsirkin
2016-04-11 15:36 ` Johannes Schindelin
2016-04-11 16:41 ` Michael S. Tsirkin
2016-04-11 19:48 ` Junio C Hamano
2016-04-11 19:55 ` Michael S. Tsirkin
2016-04-11 20:03 ` Matthieu Moy
2016-04-12 7:51 ` Michael S. Tsirkin
2016-04-12 16:07 ` Junio C Hamano
2016-04-12 16:33 ` Michael S. Tsirkin
2016-04-12 20:00 ` Junio C Hamano
2016-04-11 12:05 ` Christian Neukirchen
2016-04-10 13:54 ` Michael S. Tsirkin [this message]
2016-04-10 13:54 ` [PATCH 3/4] rebase: test ack Michael S. Tsirkin
2016-04-10 13:54 ` [PATCH 4/4] git-ack: record an ack Michael S. Tsirkin
-- strict thread matches above, loose matches on Subject: below --
2014-05-18 21:17 [PATCH 0/4] ack recoding in commit log Michael S. Tsirkin
2014-05-18 21:17 ` [PATCH 2/4] git-rebase: document ack Michael S. Tsirkin
2014-05-18 23:43 ` Eric Sunshine
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1460296343-17304-3-git-send-email-mst@redhat.com \
--to=mst@redhat.com \
--cc=bafain@gmail.com \
--cc=git@vger.kernel.org \
--cc=sunshine@sunshineco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).