summaryrefslogtreecommitdiff
path: root/Documentation/git-rebase.txt
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-08-21 23:29:11 -0700
committerJunio C Hamano <gitster@pobox.com>2010-08-21 23:29:11 -0700
commit5cba1229d8246da2a6d1d956eeed8227f69e185b (patch)
tree4ebb3bbc82225d157ca2f82474eb93fefe35c20d /Documentation/git-rebase.txt
parentb95d0a2f8cb2923fed417e649a66c7372b968248 (diff)
parentd1c3b10f7ced34a607c50de8b5c271ce9cf764ea (diff)
downloadgit-5cba1229d8246da2a6d1d956eeed8227f69e185b.tar.gz
Merge branch 'mm/rebase-i-exec'
* mm/rebase-i-exec: git-rebase--interactive.sh: use printf instead of echo to print commit message git-rebase--interactive.sh: rework skip_unnecessary_picks test-lib: user-friendly alternatives to test [-d|-f|-e] rebase -i: add exec command to launch a shell command Conflicts: git-rebase--interactive.sh t/t3404-rebase-interactive.sh
Diffstat (limited to 'Documentation/git-rebase.txt')
-rw-r--r--Documentation/git-rebase.txt24
1 files changed, 24 insertions, 0 deletions
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index b4314568f5..3b87f1a1b6 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -466,6 +466,30 @@ sure that the current HEAD is "B", and call
$ git rebase -i -p --onto Q O
-----------------------------
+Reordering and editing commits usually creates untested intermediate
+steps. You may want to check that your history editing did not break
+anything by running a test, or at least recompiling at intermediate
+points in history by using the "exec" command (shortcut "x"). You may
+do so by creating a todo list like this one:
+
+-------------------------------------------
+pick deadbee Implement feature XXX
+fixup f1a5c00 Fix to feature XXX
+exec make
+pick c0ffeee The oneline of the next commit
+edit deadbab The oneline of the commit after
+exec cd subdir; make test
+...
+-------------------------------------------
+
+The interactive rebase will stop when a command fails (i.e. exits with
+non-0 status) to give you an opportunity to fix the problem. You can
+continue with `git rebase --continue`.
+
+The "exec" command launches the command in a shell (the one specified
+in `$SHELL`, or the default shell if `$SHELL` is not set), so you can
+use shell features (like "cd", ">", ";" ...). The command is run from
+the root of the working tree.
SPLITTING COMMITS
-----------------