From edefc318731f69c3e5354ead9f7505e789562375 Mon Sep 17 00:00:00 2001 From: Bert Wesarg Date: Fri, 11 Oct 2019 10:36:41 +0200 Subject: format-patch: create leading components of output directory 'git format-patch -o ' did an equivalent of 'mkdir ' not 'mkdir -p ', which is being corrected. Avoid the usage of 'adjust_shared_perm' on the leading directories which may have security implications. Achieved by temporarily disabling of 'config.sharedRepository' like 'git init' does. Signed-off-by: Bert Wesarg Signed-off-by: Junio C Hamano --- t/t4014-format-patch.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 't') diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh index 83f52614d3..c455181e1d 100755 --- a/t/t4014-format-patch.sh +++ b/t/t4014-format-patch.sh @@ -1606,6 +1606,29 @@ test_expect_success 'From line has expected format' ' test_cmp from filtered ' +test_expect_success 'format-patch -o with no leading directories' ' + rm -fr patches && + git format-patch -o patches master..side && + count=$(git rev-list --count master..side) && + ls patches >list && + test_line_count = $count list +' + +test_expect_success 'format-patch -o with leading existing directories' ' + git format-patch -o patches/side master..side && + count=$(git rev-list --count master..side) && + ls patches/side >list && + test_line_count = $count list +' + +test_expect_success 'format-patch -o with leading non-existing directories' ' + rm -fr patches && + git format-patch -o patches/side master..side && + count=$(git rev-list --count master..side) && + ls patches/side >list && + test_line_count = $count list +' + test_expect_success 'format-patch format.outputDirectory option' ' test_config format.outputDirectory patches && rm -fr patches && -- cgit v1.2.3