After squashing or fixing up, you may want to have a final look at the commit, edit some more if needed or even do some testing. --postedit enables that. This is (to me) a paranoid mode so either I enable it for all squashes and fixups, or none. Hence a new option, not new todo commands that give finer selection. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> --- Documentation/git-rebase.txt | 5 +++++ git-rebase--interactive.sh | 5 +++++ git-rebase.sh | 7 +++++++ 3 files changed, 17 insertions(+) diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt index 2a93c64..dacb163 100644 --- a/Documentation/git-rebase.txt +++ b/Documentation/git-rebase.txt @@ -432,6 +432,11 @@ recreates the topic branch with fresh commits so it can be remerged successfully without needing to "revert the reversion" (see the link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for details). +--[no-]postedit:: + With --interactive, stop after performing the command "squash" + or "fixup". This gives the user a chance to look at the final + commit and update or test it if needed. + include::merge-strategies.txt[] NOTES diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index a1adae8..42061fc 100644 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -571,6 +571,11 @@ do_next () { ;; esac record_in_rewritten $sha1 + if test -n "$postedit" + then + warn "Stopped at $sha1... $rest" + exit_with_patch $sha1 0 + fi ;; x|"exec") read -r command rest < "$todo" diff --git a/git-rebase.sh b/git-rebase.sh index 5f6732b..2d4beb7 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -32,6 +32,7 @@ verify allow pre-rebase hook to run rerere-autoupdate allow rerere to update index with resolved conflicts root! rebase all reachable commits up to the root(s) autosquash move commits that begin with squash!/fixup! under -i +postedit stop after squash or fixup commands committer-date-is-author-date! passed to 'git am' ignore-date! passed to 'git am' whitespace=! passed to 'git apply' @@ -264,6 +265,12 @@ do --no-autosquash) autosquash= ;; + --postedit) + postedit=t + ;; + --no-postedit) + postedit= + ;; --fork-point) fork_point=t ;; -- 1.9.0.40.gaa8c3ea -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html