]> git.ipfire.org Git - thirdparty/git.git/blame - t/t4128-apply-root.sh
parse-opt: ignore negation of OPT_NONEG for ambiguity checks
[thirdparty/git.git] / t / t4128-apply-root.sh
CommitLineData
c4730f35
JS
1#!/bin/sh
2
3test_description='apply same filename'
4
5. ./test-lib.sh
6
7test_expect_success 'setup' '
8
9 mkdir -p some/sub/dir &&
10 echo Hello > some/sub/dir/file &&
8ee4a6c2
JH
11 git add some/sub/dir/file &&
12 git commit -m initial &&
13 git tag initial
c4730f35
JS
14
15'
16
17cat > patch << EOF
18diff a/bla/blub/dir/file b/bla/blub/dir/file
19--- a/bla/blub/dir/file
20+++ b/bla/blub/dir/file
21@@ -1,1 +1,1 @@
22-Hello
23+Bello
24EOF
25
f5563887 26test_expect_success 'apply --directory -p (1)' '
c4730f35 27
f5563887 28 git apply --directory=some/sub -p3 --index patch &&
c4730f35
JS
29 test Bello = $(git show :some/sub/dir/file) &&
30 test Bello = $(cat some/sub/dir/file)
31
32'
33
f5563887 34test_expect_success 'apply --directory -p (2) ' '
8ee4a6c2
JH
35
36 git reset --hard initial &&
f5563887 37 git apply --directory=some/sub/ -p3 --index patch &&
8ee4a6c2
JH
38 test Bello = $(git show :some/sub/dir/file) &&
39 test Bello = $(cat some/sub/dir/file)
40
41'
42
969c8775
JK
43cat > patch << EOF
44diff --git a/newfile b/newfile
45new file mode 100644
46index 0000000..d95f3ad
47--- /dev/null
48+++ b/newfile
49@@ -0,0 +1 @@
50+content
51EOF
52
53test_expect_success 'apply --directory (new file)' '
54 git reset --hard initial &&
55 git apply --directory=some/sub/dir/ --index patch &&
56 test content = $(git show :some/sub/dir/newfile) &&
57 test content = $(cat some/sub/dir/newfile)
58'
59
60cat > patch << EOF
61diff --git a/delfile b/delfile
62deleted file mode 100644
63index d95f3ad..0000000
64--- a/delfile
65+++ /dev/null
66@@ -1 +0,0 @@
67-content
68EOF
69
70test_expect_success 'apply --directory (delete file)' '
71 git reset --hard initial &&
72 echo content >some/sub/dir/delfile &&
73 git add some/sub/dir/delfile &&
74 git apply --directory=some/sub/dir/ --index patch &&
80bfd76a 75 ! (git ls-files | grep delfile)
969c8775
JK
76'
77
78cat > patch << 'EOF'
79diff --git "a/qu\157tefile" "b/qu\157tefile"
80new file mode 100644
81index 0000000..d95f3ad
82--- /dev/null
83+++ "b/qu\157tefile"
84@@ -0,0 +1 @@
85+content
86EOF
87
88test_expect_success 'apply --directory (quoted filename)' '
89 git reset --hard initial &&
90 git apply --directory=some/sub/dir/ --index patch &&
91 test content = $(git show :some/sub/dir/quotefile) &&
92 test content = $(cat some/sub/dir/quotefile)
93'
94
c4730f35 95test_done