If the series of patches you are applying via git-am was based in a different directory there was no way to strip the directory (as you would with git-apply). This patch adds a --patchdepth option to git-am.sh whose argument is passed as a "-p" option to git-apply. Signed-off-by: Andy Parkins <andyparkins@xxxxxxxxx> --- I know git-apply isn't going anywhere, but git-applypatch is. However, all this talk of it made me remember this patch. git-am.sh | 13 ++++++++----- 1 files changed, 8 insertions(+), 5 deletions(-) diff --git a/git-am.sh b/git-am.sh index 1252f26..cb503fc 100755 --- a/git-am.sh +++ b/git-am.sh @@ -60,7 +60,7 @@ fall_back_3way () { mkdir "$dotest/patch-merge-tmp-dir" # First see if the patch records the index info that we can use. - git-apply -z --index-info "$dotest/patch" \ + git-apply $patchdepth -z --index-info "$dotest/patch" \ >"$dotest/patch-merge-index-info" && GIT_INDEX_FILE="$dotest/patch-merge-tmp-index" \ git-update-index -z --index-info <"$dotest/patch-merge-index-info" && @@ -70,7 +70,7 @@ fall_back_3way () { echo Using index info to reconstruct a base tree... if GIT_INDEX_FILE="$dotest/patch-merge-tmp-index" \ - git-apply $binary --cached <"$dotest/patch" + git-apply $patchdepth $binary --cached <"$dotest/patch" then mv "$dotest/patch-merge-base+" "$dotest/patch-merge-base" mv "$dotest/patch-merge-tmp-index" "$dotest/patch-merge-index" @@ -106,7 +106,7 @@ It does not apply to blobs recorded in its index." } prec=4 -dotest=.dotest sign= utf8=t keep= skip= interactive= resolved= binary= ws= resolvemsg= +dotest=.dotest sign= utf8=t keep= skip= interactive= resolved= binary= ws= resolvemsg= patchdepth= while case "$#" in 0) break;; esac do @@ -147,6 +147,9 @@ do --resolvemsg=*) resolvemsg=$(echo "$1" | sed -e "s/^--resolvemsg=//"); shift ;; + --patchdepth=*) + patchdepth=-p$(echo "$1" | sed -e "s/^--patchdepth=//"); shift ;; + --) shift; break ;; -*) @@ -389,12 +392,12 @@ do fi echo - echo "Applying '$SUBJECT'" + echo "Applying '$SUBJECT' at depth $patchdepth" echo case "$resolved" in '') - git-apply $binary --index $ws "$dotest/patch" + git-apply $patchdepth $binary --index $ws "$dotest/patch" apply_status=$? ;; t) -- 1.5.0.rc1.gf4b6c - 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