summaryrefslogtreecommitdiff
path: root/tests/backup-prefix-suffix
blob: e37d6028ffd780392b2d030b0dbbf203af8b7976 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# Copyright (C) 2009, 2011-2012 Free Software Foundation, Inc.
#
# Copying and distribution of this file, with or without modification,
# in any medium, are permitted without royalty provided the copyright
# notice and this notice are preserved.

. $srcdir/test-lib.sh

require cat
use_local_patch
use_tmpdir

# ==============================================================

cat > ab.diff <<EOF
--- a/f
+++ b/f
@@ -1 +1 @@
-one
+two
EOF

echo one > f
check 'patch -b -p1 < ab.diff' <<EOF
patching file f
EOF

check 'cat f.orig' <<EOF
one
EOF

echo one > f
check 'patch -b -B prefix. -p1 < ab.diff' <<EOF
patching file f
EOF

check 'cat prefix.f' <<EOF
one
EOF

echo one > f
check 'patch -b -z .suffix -p1 < ab.diff' <<EOF
patching file f
EOF

check 'cat f.suffix' <<EOF
one
EOF

echo one > f
check 'patch -b -B prefix. -z .suffix -p1 < ab.diff' <<EOF
patching file f
EOF

check 'cat prefix.f.suffix' <<EOF
one
EOF

export PATCH_VERSION_CONTROL=existing
export SIMPLE_BACKUP_SUFFIX=.bak
echo one > f
check 'patch -b -p1 < ab.diff' <<EOF
patching file f
EOF

check 'cat f.bak' <<EOF
one
EOF

touch f.~1~
echo one > f
check 'patch -b -p1 < ab.diff' <<EOF
patching file f
EOF

check 'cat f.~2~' <<EOF
one
EOF

export PATCH_VERSION_CONTROL=numbered
echo one > f
check 'patch -b -p1 < ab.diff' <<EOF
patching file f
EOF

check 'cat f.~3~' <<EOF
one
EOF

unset PATCH_VERSION_CONTROL SIMPLE_BACKUP_SUFFIX

# ==============================================================

cat > ab.diff <<EOF
--- a/d/f
+++ b/d/f
@@ -1 +1 @@
-one
+two
EOF

mkdir d

echo one > d/f
check 'patch -b -p1 < ab.diff' <<EOF
patching file d/f
EOF

check 'cat d/f.orig' <<EOF
one
EOF

echo one > d/f
check 'patch -b -B orig/ -p1 < ab.diff' <<EOF
patching file d/f
EOF

check 'cat orig/d/f' <<EOF
one
EOF

echo one > d/f
check 'patch -b -B orig/ -z .orig -p1 < ab.diff' <<EOF
patching file d/f
EOF

check 'cat orig/d/f.orig' <<EOF
one
EOF

echo one > d/f
check 'patch -b -Y .orig/ -p1 < ab.diff' <<EOF
patching file d/f
EOF

check 'cat d/.orig/f' <<EOF
one
EOF

echo one > d/f
check 'patch -b -Y .orig/ -z .orig -p1 < ab.diff' <<EOF
patching file d/f
EOF

check 'cat d/.orig/f.orig' <<EOF
one
EOF