X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=git-am.sh;h=8b5712968ebcfe3f8fb5426e5104de2e7d2d3334;hb=a2f8028d3d661b314d5a784764f2f5f9e4c2dde0;hp=2c73d116b28d0d89d1fbdfc1d454506bff9e3f46;hpb=8ab3e1858676b91bf351537b8afd5599c6640e6f;p=git.git diff --git a/git-am.sh b/git-am.sh index 2c73d116b..8b5712968 100755 --- a/git-am.sh +++ b/git-am.sh @@ -18,7 +18,7 @@ stop_here () { stop_here_user_resolve () { if [ -n "$resolvemsg" ]; then - echo "$resolvemsg" + printf '%s\n' "$resolvemsg" stop_here $1 fi cmdline=$(basename $0) @@ -146,7 +146,7 @@ do git_apply_opt="$git_apply_opt $1"; shift ;; --resolvemsg=*) - resolvemsg=$(echo "$1" | sed -e "s/^--resolvemsg=//"); shift ;; + resolvemsg=${1#--resolvemsg=}; shift ;; --) shift; break ;; @@ -290,6 +290,10 @@ do git-mailinfo $keep $utf8 "$dotest/msg" "$dotest/patch" \ <"$dotest/$msgnum" >"$dotest/info" || stop_here $this + test -s $dotest/patch || { + echo "Patch is empty. Was it split wrong?" + stop_here $this + } git-stripspace < "$dotest/msg" > "$dotest/msg-clean" ;; esac @@ -327,7 +331,7 @@ do ADD_SIGNOFF= fi { - echo "$SUBJECT" + printf '%s\n' "$SUBJECT" if test -s "$dotest/msg-clean" then echo @@ -390,7 +394,7 @@ do fi echo - echo "Applying '$SUBJECT'" + printf 'Applying %s\n' "$SUBJECT" echo case "$resolved" in @@ -404,12 +408,10 @@ do # trust what the user has in the index file and the # working tree. resolved= - changed="$(git-diff-index --cached --name-only HEAD)" - if test '' = "$changed" - then + git-diff-index --quiet --cached HEAD && { echo "No changes - did you forget to use 'git add'?" stop_here_user_resolve $this - fi + } unmerged=$(git-ls-files -u) if test -n "$unmerged" then @@ -431,13 +433,11 @@ do then # Applying the patch to an earlier tree and merging the # result may have produced the same tree as ours. - changed="$(git-diff-index --cached --name-only HEAD)" - if test '' = "$changed" - then - echo No changes -- Patch already applied. - go_next - continue - fi + git-diff-index --quiet --cached HEAD && { + echo No changes -- Patch already applied. + go_next + continue + } # clear apply_status -- we have successfully merged. apply_status=0 fi