mirror of
https://github.com/git/git.git
synced 2024-12-13 03:44:17 +08:00
f556388747
Applying a patch in the directory that is different from what the patch records is done with --directory option in GNU diff. The --root option we introduced previously does the same, and we can call it the same way to give users more familiar feel. Signed-off-by: Junio C Hamano <gitster@pobox.com>
44 lines
813 B
Bash
Executable File
44 lines
813 B
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='apply same filename'
|
|
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success 'setup' '
|
|
|
|
mkdir -p some/sub/dir &&
|
|
echo Hello > some/sub/dir/file &&
|
|
git add some/sub/dir/file &&
|
|
git commit -m initial &&
|
|
git tag initial
|
|
|
|
'
|
|
|
|
cat > patch << EOF
|
|
diff a/bla/blub/dir/file b/bla/blub/dir/file
|
|
--- a/bla/blub/dir/file
|
|
+++ b/bla/blub/dir/file
|
|
@@ -1,1 +1,1 @@
|
|
-Hello
|
|
+Bello
|
|
EOF
|
|
|
|
test_expect_success 'apply --directory -p (1)' '
|
|
|
|
git apply --directory=some/sub -p3 --index patch &&
|
|
test Bello = $(git show :some/sub/dir/file) &&
|
|
test Bello = $(cat some/sub/dir/file)
|
|
|
|
'
|
|
|
|
test_expect_success 'apply --directory -p (2) ' '
|
|
|
|
git reset --hard initial &&
|
|
git apply --directory=some/sub/ -p3 --index patch &&
|
|
test Bello = $(git show :some/sub/dir/file) &&
|
|
test Bello = $(cat some/sub/dir/file)
|
|
|
|
'
|
|
|
|
test_done
|