diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-03-12 15:43:06 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-03-12 15:43:15 -0700 |
commit | b91a13bbdca0095b1dc9ffb06bcb5caf4aab56b6 (patch) | |
tree | ddece8bdb532d56cf5bbfd8cc6ef102328e8d456 /git-am.sh | |
parent | 0dbe6592ccbd1a394a69a52074e3729d546fe952 (diff) | |
parent | a61ba26a4725d4a93297305315587b92324baf0b (diff) | |
download | git-b91a13bbdca0095b1dc9ffb06bcb5caf4aab56b6.tar.gz |
Merge branch 'jc/am-3-nonstandard-popt' into maint
The code to synthesize the fake ancestor tree used by 3-way merge
fallback in "git am" was not prepared to read a patch created with
a non-standard -p<num> value.
* jc/am-3-nonstandard-popt:
test: "am -3" can accept non-standard -p<num>
am -3: allow nonstandard -p<num> option
Diffstat (limited to 'git-am.sh')
-rwxr-xr-x | git-am.sh | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -127,15 +127,18 @@ fall_back_3way () { mkdir "$dotest/patch-merge-tmp-dir" # First see if the patch records the index info that we can use. - git apply --build-fake-ancestor "$dotest/patch-merge-tmp-index" \ - "$dotest/patch" && + cmd="git apply $git_apply_opt --build-fake-ancestor" && + cmd="$cmd "'"$dotest/patch-merge-tmp-index" "$dotest/patch"' && + eval "$cmd" && GIT_INDEX_FILE="$dotest/patch-merge-tmp-index" \ git write-tree >"$dotest/patch-merge-base+" || cannot_fallback "$(gettext "Repository lacks necessary blobs to fall back on 3-way merge.")" say Using index info to reconstruct a base tree... - if GIT_INDEX_FILE="$dotest/patch-merge-tmp-index" \ - git apply --cached <"$dotest/patch" + + cmd='GIT_INDEX_FILE="$dotest/patch-merge-tmp-index"' + cmd="$cmd git apply --cached $git_apply_opt"' <"$dotest/patch"' + if eval "$cmd" then mv "$dotest/patch-merge-base+" "$dotest/patch-merge-base" mv "$dotest/patch-merge-tmp-index" "$dotest/patch-merge-index" |