This patch series adds new command line options to git-commit to make it easy to specify messages for commits correctly formatted for use wit 'rebase -i --autosquash'. The first patch introduces minor refactorings that set the stage for subsequent patches, mostly preventing copy-n-paste coding in what follows. The second patch teaches format_commit_message to reencode the content if the caller's commit object uses an encoding different from the commit encoding. The remaining patches add the --fixup and --squash commands to git-commit including tests of commit, interactions with rebase and i18n encodings. One issue which limits the testing (but not the implementation, I think) is that when 'rebase --autosquash' is comparing commit subject lines it does not first make sure that the commits use a common encoding. That's follow-on work. Pat Notz (6): commit: helper methods to reduce redundant blocks of code pretty.c: teach format_commit_message() to reencode the output commit: --fixup option for use with rebase --autosquash add tests of commit --fixup commit: --squash option for use with rebase --autosquash add tests of commit --squash Documentation/git-commit.txt | 21 ++++++++-- archive.c | 2 +- builtin/commit.c | 86 +++++++++++++++++++++++++++-------------- builtin/fmt-merge-msg.c | 2 +- builtin/log.c | 3 +- builtin/mailinfo.c | 2 +- cache.h | 3 + commit.c | 13 ++++++ commit.h | 6 ++- environment.c | 11 +++++ log-tree.c | 2 +- notes-cache.c | 2 +- pretty.c | 39 ++++++++++++------- submodule.c | 4 +- t/t3415-rebase-autosquash.sh | 29 +++++++++++++- t/t3900-i18n-commit.sh | 29 ++++++++++++++ t/t7500-commit.sh | 80 +++++++++++++++++++++++++++++++++++++++ t/t7500/edit-content | 4 ++ 18 files changed, 277 insertions(+), 61 deletions(-) create mode 100755 t/t7500/edit-content -- 1.7.3.1 -- 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