Federico Cuello <fedux@xxxxxxxxxxxxx> writes: > Fix the case when the patch is a rename or mode-change only > and -p is used with a value greater than one. > The git_header_name function did not remove more than one path > component. > > Signed-off-by: Federico Cuello <fedux@xxxxxxxxxxxxx> Thanks. It is customary to protect your fix with additional test script so that you do not have to be constantly monitoring the mailing list traffic to make sure somebody else will not break your changes. Perhaps something like this? Note that I didn't run the test myself, though (for that matter, I haven't applied your patch to see if it compiles, yet). t/t4120-apply-popt.sh | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) diff --git a/t/t4120-apply-popt.sh b/t/t4120-apply-popt.sh index 2b2d00b..579c9e6 100755 --- a/t/t4120-apply-popt.sh +++ b/t/t4120-apply-popt.sh @@ -56,4 +56,30 @@ test_expect_success 'apply with too large -p and fancy filename' ' grep "removing 3 leading" err ' +test_expect_success 'apply (-p2) diff, mode change only' ' + cat >patch.chmod <<-\EOF && + diff --git a/sub/file1 b/sub/file1 + old mode 100644 + new mode 100755 + EOF + chmod 644 file1 && + git apply -p2 patch.chmod && + test -x file1 +' + +test_expect_success 'apply (-p2) diff, rename' ' + cat >patch.rename <<-\EOF && + diff --git a/sub/file1 b/sub/file2 + similarity index 100% + rename from sub/file1 + rename to sub/file2 + EOF + echo A >expected && + + cp file1.saved file1 && + rm -f file2 && + git apply -p2 patch.rename && + test_cmp expected file2 +' + test_done -- 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