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 three patches introduce minor refactorings that set the stage for subsequent patches. The fourth 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 (8): commit.c: prefer get_header() to manual searching commit.c: new function for looking up a comit by name pretty.c: helper methods for getting output encodings 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 | 76 +++++++++++++++++++++++++++------------ builtin/fmt-merge-msg.c | 2 +- cache.h | 3 ++ commit.c | 13 +++++++ commit.h | 5 ++- environment.c | 11 ++++++ log-tree.c | 2 +- notes-cache.c | 2 +- pretty.c | 47 +++++++++++++++++++----- submodule.c | 4 +- t/t3415-rebase-autosquash.sh | 29 ++++++++++++++- t/t3900-i18n-commit.sh | 28 +++++++++++++++ t/t7500-commit.sh | 80 ++++++++++++++++++++++++++++++++++++++++++ t/t7500/edit-content | 4 ++ 16 files changed, 283 insertions(+), 46 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