If using git-mailsplit in environments where files with dos and unix line ending stay in one repository mbox patches must be split with additional parameter '--keep-cr', because the behaviour of git-mailsplit have been changed in commit c2ca1d79. With this patch the behaviour of git-mailsplit can be set via configuration file. Signed-off-by: Stefan-W. Hahn <stefan.hahn@xxxxxxxxx> --- Documentation/config.txt | 4 ++++ builtin-mailsplit.c | 10 ++++++++++ 2 files changed, 14 insertions(+), 0 deletions(-) diff --git a/Documentation/config.txt b/Documentation/config.txt index 4c36aa9..37a4968 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -1246,6 +1246,10 @@ mailmap.file:: subdirectory, or somewhere outside of the repository itself. See linkgit:git-shortlog[1] and linkgit:git-blame[1]. +mailsplit.keepcr:: + If true git-mailsplit will not remove `\r` from lines ending + with `\r\n`. See linkgit:git-mailsplit[1]. + man.viewer:: Specify the programs that may be used to display help in the 'man' format. See linkgit:git-help[1]. diff --git a/builtin-mailsplit.c b/builtin-mailsplit.c index cdfc1b7..e76974d 100644 --- a/builtin-mailsplit.c +++ b/builtin-mailsplit.c @@ -210,6 +210,15 @@ out: return ret; } +static int git_mailsplit_config(const char *var, const char *value, void *cb) +{ + if (!strcmp(var, "mailsplit.keepcr")) { + keep_cr = git_config_bool(var, value); + return 0; + } + return git_default_config(var, value, cb); +} + int cmd_mailsplit(int argc, const char **argv, const char *prefix) { int nr = 0, nr_prec = 4, num = 0; @@ -218,6 +227,7 @@ int cmd_mailsplit(int argc, const char **argv, const char *prefix) const char **argp; static const char *stdin_only[] = { "-", NULL }; + git_config(git_mailsplit_config, NULL); for (argp = argv+1; *argp; argp++) { const char *arg = *argp; -- 1.7.0.rc2.17.g39385 -- 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