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
|
# 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.
# Patch must not overwrite backup files it has created itself.
# (Backup file tests for symlinks are in tests/symlinks.)
. $srcdir/test-lib.sh
require cat
use_local_patch
use_tmpdir
# ==============================================================
echo one > f
cat > f.diff <<EOF
--- f.orig
+++ f
@@ -2 +2 @@
-one
+two
--- f.orig
+++ f
@@ -2 +2 @@
-two
+three
--- f.orig
+++ f
@@ -2 +2 @@
-three
+four
EOF
check 'patch -p0 < f.diff' <<EOF
patching file f
Hunk #1 succeeded at 1 (offset -1 lines).
patching file f
Hunk #1 succeeded at 1 (offset -1 lines).
patching file f
Hunk #1 succeeded at 1 (offset -1 lines).
EOF
check 'cat f.orig' <<EOF
one
EOF
# ==============================================================
# Hardlinks between source files
echo one > f
ln f g
cat > fg.diff <<EOF
--- f.orig
+++ f
@@ -2 +2 @@
-one
+two
--- g.orig
+++ g
@@ -2 +2 @@
-one
+two
EOF
check 'patch -p0 < fg.diff' <<EOF
patching file f
Hunk #1 succeeded at 1 (offset -1 lines).
patching file g
Hunk #1 succeeded at 1 (offset -1 lines).
EOF
check 'cat f.orig' <<EOF
one
EOF
check 'cat g.orig' <<EOF
one
EOF
# ==============================================================
echo one > f
cat > f.diff <<EOF
--- f
+++ /dev/null
@@ -1 +0,0 @@
-one
--- /dev/null
+++ f
@@ -0,0 +1 @@
+two
EOF
check 'patch --backup -p0 < f.diff' <<EOF
patching file f
patching file f
EOF
check 'cat f.orig' <<EOF
one
EOF
check 'cat f' <<EOF
two
EOF
|