The reason has been explained in the "add --recode-patch to git-mailinfo" patch Signed-off-by: Zhang Le <r0bertz@xxxxxxxxxx> --- Documentation/git-am.txt | 4 ++++ git-am.sh | 13 +++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt index 9e62f87..38c1442 100644 --- a/Documentation/git-am.txt +++ b/Documentation/git-am.txt @@ -73,6 +73,10 @@ default. You can use `--no-utf8` to override this. Pass `-n` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]). +--recode-patch:: + Pass `--recode-patch` flag to 'git mailinfo' (see + linkgit:git-mailinfo[1]). + -3:: --3way:: When the patch does not apply cleanly, fall back on diff --git a/git-am.sh b/git-am.sh index 1056075..62e7870 100755 --- a/git-am.sh +++ b/git-am.sh @@ -14,6 +14,7 @@ b,binary* (historical option -- no-op) q,quiet be quiet s,signoff add a Signed-off-by line to the commit message u,utf8 recode into utf8 (default) +recode-patch pass --recode-patch flag to git-mailinfo k,keep pass -k flag to git-mailinfo keep-cr pass --keep-cr flag to git-mailsplit for mbox format no-keep-cr do not pass --keep-cr flag to git-mailsplit independent of am.keepcr @@ -294,7 +295,7 @@ split_patches () { prec=4 dotest="$GIT_DIR/rebase-apply" sign= utf8=t keep= keepcr= skip= interactive= resolved= rebasing= abort= -resolvemsg= resume= scissors= no_inbody_headers= +resolvemsg= resume= scissors= no_inbody_headers= recode_patch= git_apply_opt= committer_date_is_author_date= ignore_date= @@ -320,6 +321,8 @@ do utf8=t ;; # this is now default --no-utf8) utf8= ;; + --recode-patch) + recode_patch=t ;; -k|--keep) keep=t ;; -c|--scissors) @@ -463,6 +466,7 @@ else echo "$threeway" >"$dotest/threeway" echo "$sign" >"$dotest/sign" echo "$utf8" >"$dotest/utf8" + echo "$recode_patch" >"$dotest/recode_patch" echo "$keep" >"$dotest/keep" echo "$keepcr" >"$dotest/keepcr" echo "$scissors" >"$dotest/scissors" @@ -504,6 +508,10 @@ then else utf8=-n fi +if test "$(cat "$dotest/recode_patch")" = t +then + recodepatch=--recode-patch +fi if test "$(cat "$dotest/keep")" = t then keep=-k @@ -580,7 +588,8 @@ do # by the user, or the user can tell us to do so by --resolved flag. case "$resume" in '') - git mailinfo $keep $no_inbody_headers $scissors $utf8 "$dotest/msg" "$dotest/patch" \ + git mailinfo $keep $no_inbody_headers $scissors $utf8 \ + $recodepatch "$dotest/msg" "$dotest/patch" \ <"$dotest/$msgnum" >"$dotest/info" || stop_here $this -- 1.7.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