patch: add -N and a test for it (fails for now)
authorDenys Vlasenko <vda.linux@googlemail.com>
Sun, 15 Aug 2010 23:33:57 +0000 (01:33 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 15 Aug 2010 23:33:57 +0000 (01:33 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
editors/patch.c
testsuite/patch.tests

index 693af5b7d77c0ac535ab5f6d7be832c014493947..eb16bca126664199029783625bf9bdebbeb93dee 100644 (file)
@@ -245,14 +245,16 @@ struct globals {
 
 
 //bbox had: "p:i:RN"
-#define FLAG_STR "Rup:i:x"
+#define FLAG_STR "Rup:i:Nx"
 /* FLAG_REVERSE must be == 1! Code uses this fact. */
 #define FLAG_REVERSE (1 << 0)
 #define FLAG_u       (1 << 1)
 #define FLAG_PATHLEN (1 << 2)
 #define FLAG_INPUT   (1 << 3)
+// -N: not supported yet
+#define FLAG_IGNORE  (1 << 4)
 //non-standard:
-#define FLAG_DEBUG   (1 << 4)
+#define FLAG_DEBUG   (1 << 5)
 
 // Dispose of a line of input, either by writing it out or discarding it.
 
index 6ee795dba84c3f7ec8c09295f80996a6f0ed04a0..e663b32a3c21a5a297a0beb023b06af2032cb97f 100755 (executable)
@@ -4,7 +4,7 @@
 
 . ./testing.sh
 
-# testing "test name" "options" "expected result" "file input" "stdin"
+# testing "test name" "command(s)" "expected result" "file input" "stdin"
 
 testing "patch with old_file == new_file" \
        'patch 2>&1; echo $?; cat input' \
@@ -126,6 +126,31 @@ abc
 +456
 " \
 
+# testing "test name" "command(s)" "expected result" "file input" "stdin"
+
+testing "patch -N ignores already applied hunk" \
+       'patch -N 2>&1; echo $?; cat input' \
+"\
+patching file input
+0
+abc
+def
+123
+" \
+"\
+abc
+def
+123
+" \
+"\
+--- input
++++ input
+@@ -1,2 +1,3 @@
+ abc
++def
+ 123
+" \
+
 rm input.orig 2>/dev/null
 
 exit $FAILCOUNT