Subject: Re: [PATCHv5] rebase [-i --exec | -ix] <CMD>...

From: Zbigniew Jędrzejewski-Szmek <[email-masked]>
Date: Wed, 13 Jun 2012 16:04:06 +0200

On 06/12/2012 04:46 PM, Junio C Hamano wrote:
> I do not think it is worth another round of resend at this point, so
> please eyeball the version I fixed up and queued in 'pu' when it is
> pushed out.  I also moved the '-x <cmd>::' option description to
> where it belongs (iow, not at the very beginning).

Hi,
I think some small changes are still in order. Please consider
squashing this in:

-----8<------
Subject: [PATCH] squash! rebase -i: teach "--exec <cmd>"

In the commit message: s/each runs/each run/

Fixup to the documentation part:
- Use the phrase "after each commit in the final history" from Junio's
  commit message to replace "each commit application". The latter is
  awkward and not really true.
- Reorder paragraphs and reword the one about --interactive.
  Make the part about two forms of exec less verbose.
- Replace ';' with '&&' in the example. This (a) makes the two
  examples equivalent, and (b) encourages good practice that we try
  to follow in git tests to never fail silently. People are likely
  to copy the example verbatim.
---
 Documentation/git-rebase.txt | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index 048da64..179ab77 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -346,22 +346,23 @@ idea unless you know what you are doing (see BUGS
below).

 -x <cmd>::
 --exec <cmd>::
-	Append "exec <cmd>" after each commit application line. <cmd>
-	will be interpreted as one or more shell commands (see
-	INTERACTIVE MODE below).
+	Append "exec <cmd>" after each line creating a commit in the
+	final history. <cmd> will be interpreted as one or more shell
+	commands.
 +
-This option has to be used along with the `--interactive` option
-explicitly.  You may execute several commands after each commit
-application.  For this, you can use one instance of `--exec`:
+This option can only be used with the `--interactive` option
+(see INTERACTIVE MODE below).
 +
-	git rebase -i --exec "cmd1; cmd2; ...".
+You may execute several commands by either using one instance of `--exec`
+with several commands:
 +
-You can also insert several instances of `--exec`, if you wish to only
-have one command per line. For example:
+	git rebase -i --exec "cmd1 && cmd2 && ..."
 +
-	git rebase -i --exec "cmd1" --exec "cmd2" ...
+or equivalently by giving more than one `--exec`:
 +
-If `--autosquash` is used, the "exec" lines will not be appended for
+	git rebase -i --exec "cmd1" --exec "cmd2" --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.

-- 
1.7.11.rc3.129.ga90bc7a.dirty
-----8<------

Zbyszek