From: Junio C Hamano Date: Thu, 29 Jan 2009 07:56:13 +0000 (-0800) Subject: Merge branch 'jc/maint-format-patch-o-relative' into maint X-Git-Tag: v1.6.1.2~1 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/a9ed6ce0e7057b94809d3c51094ba96fe96fded8 Merge branch 'jc/maint-format-patch-o-relative' into maint * jc/maint-format-patch-o-relative: Teach format-patch to handle output directory relative to cwd Conflicts: t/t4014-format-patch.sh --- a9ed6ce0e7057b94809d3c51094ba96fe96fded8 diff --cc t/t4014-format-patch.sh index 9d99dc2887,16de4364d7..f045898fe3 --- a/t/t4014-format-patch.sh +++ b/t/t4014-format-patch.sh @@@ -230,29 -230,54 +230,79 @@@ test_expect_success 'shortlog of cover- ' +cat > expect << EOF +--- + file | 16 ++++++++++++++++ + 1 files changed, 16 insertions(+), 0 deletions(-) + +diff --git a/file b/file +index 40f36c6..2dc5c23 100644 +--- a/file ++++ b/file +@@ -13,4 +13,20 @@ C + 10 + D + E + F ++5 +EOF + +test_expect_success 'format-patch respects -U' ' + + git format-patch -U4 -2 && + sed -e "1,/^$/d" -e "/^+5/q" < 0001-This-is-an-excessively-long-subject-line-for-a-messa.patch > output && + test_cmp expect output + +' + + test_expect_success 'format-patch from a subdirectory (1)' ' + filename=$( + rm -rf sub && + mkdir -p sub/dir && + cd sub/dir && + git format-patch -1 + ) && + case "$filename" in + 0*) + ;; # ok + *) + echo "Oops? $filename" + false + ;; + esac && + test -f "$filename" + ' + + test_expect_success 'format-patch from a subdirectory (2)' ' + filename=$( + rm -rf sub && + mkdir -p sub/dir && + cd sub/dir && + git format-patch -1 -o .. + ) && + case "$filename" in + ../0*) + ;; # ok + *) + echo "Oops? $filename" + false + ;; + esac && + basename=$(expr "$filename" : ".*/\(.*\)") && + test -f "sub/$basename" + ' + + test_expect_success 'format-patch from a subdirectory (3)' ' + here="$TEST_DIRECTORY/$test" && + rm -f 0* && + filename=$( + rm -rf sub && + mkdir -p sub/dir && + cd sub/dir && + git format-patch -1 -o "$here" + ) && + basename=$(expr "$filename" : ".*/\(.*\)") && + test -f "$basename" + ' + test_done