This patch series is a successor to mh/rebase-fixup, which causes "rebase -i" to skip opening the log message editor when processing a block of "fixup" commands that does not include any "squash"es. The idea was discussed on the mailing list [1] to general approval. This patch series applies to "next", as it depends on earlier commits in mh/rebase-fixup. With this patch series, I believe that this topic is finished. The first several commits are trivial fixups. The three commits starting with "Document how temporary files are used" attempt to document how the existing git-rebase--interactive.sh script uses temporary files, as that information was not obvious. I would appreciate feedback about whether I have inferred the uses correctly. Following are several refactorings leading to the main point of this patch series, "For fixup commands without squashes, do not start editor". I also noticed a related (pre-existing) bug, namely that when there is a conflict during the processing of a "squash" series, the user is sometimes asked to edit an intermediate commit message. But after later squashes are processed, the user's edited message is discarded. The last two patches fix this problem--whenever the user has edited a commit message, the resulting combined commit is treated (internally) as a new starting point for further squash/fixups. As such, the user-edited commit message is the first part of the suggested commit message for the final squashed/fixedup commit. Michael [1] http://article.gmane.org/gmane.comp.version-control.git/134510 Michael Haggerty (18): rebase -i: Make the condition for an "if" more transparent rebase -i: Remove dead code rebase -i: Inline expression rebase -i: Use "test -n" instead of "test ! -z" rebase -i: Use symbolic constant $MSG consistently rebase -i: Document how temporary files are used rebase -i: Introduce a constant AUTHOR_SCRIPT rebase -i: Introduce a constant AMEND t3404: Test the commit count in commit messages generated by "rebase -i" rebase -i: Improve consistency of commit count in generated commit messages rebase -i: Simplify commit counting for generated commit messages rebase -i: Extract a function "commit_message" rebase -i: Handle the author script all in one place in do_next rebase -i: Extract function do_with_author rebase -i: Change function make_squash_message into update_squash_message rebase -i: For fixup commands without squashes, do not start editor t3404: Set up more of the test repo in the "setup" step rebase -i: Retain user-edited commit messages after squash/fixup conflicts git-rebase--interactive.sh | 224 ++++++++++++++++++++++++++--------------- t/lib-rebase.sh | 6 +- t/t3404-rebase-interactive.sh | 101 +++++++++++++------ 3 files changed, 219 insertions(+), 112 deletions(-) -- 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