]> arthur.barton.de Git - bup.git/commitdiff
Ignore empty lines in --exclude-rx-from files
authorRob Browning <rlb@defaultvalue.org>
Mon, 30 Jun 2014 18:15:58 +0000 (13:15 -0500)
committerRob Browning <rlb@defaultvalue.org>
Mon, 30 Jun 2014 18:25:49 +0000 (13:25 -0500)
Thanks to Daniel Hahler Daniel Hahler <git@thequod.de> for suggesting
the change.

Signed-off-by: Rob Browning <rlb@defaultvalue.org>
Tested-by: Rob Browning <rlb@defaultvalue.org>
Documentation/bup-drecurse.md
Documentation/bup-index.md
Documentation/bup-restore.md
lib/bup/helpers.py
t/test-save-restore-excludes.sh

index 86477de8b58fb0b6573c959999dd8a025833420d..66683a2a264d6c3560f467f639fb3eac51c732ec 100644 (file)
@@ -53,7 +53,7 @@ come after its children, making this easy.
 
 \--exclude-rx-from=*filename*
 :   read --exclude-rx patterns from *filename*, one pattern per-line
-    (may be repeated).
+    (may be repeated).  Ignore completely empty lines.
 
 \--profile
 :   print profiling information upon completion.  Useful
index 9fa9b35735e78f756198ee26c39cc7e5f7ca605f..e4dd2ac0843c6c263f31822e1cbb2f7af69b0ab9 100644 (file)
@@ -171,7 +171,7 @@ does, due to the accommodations described above.
 
 \--exclude-rx-from=*filename*
 :   read --exclude-rx patterns from *filename*, one pattern per-line
-    (may be repeated).
+    (may be repeated).  Ignore completely empty lines.
 
 \--no-check-device
 :   don't mark a an entry invalid if the device number (stat(2)
index ed7cd7423f2084fa1e0177bdb8bb62022cd5d175..9f33133f9cb9e5cac441af079b896cbaa7c5f394 100644 (file)
@@ -119,7 +119,7 @@ See the EXAMPLES section for a demonstration.
 
 \--exclude-rx-from=*filename*
 :   read --exclude-rx patterns from *filename*, one pattern per-line
-    (may be repeated).
+    (may be repeated).  Ignore completely empty lines.
 
 \--map-user *old*=*new*
 :   for every path, restore the *old* (saved) user name as *new*.
index 1b390c51dd51ea3f11481f2e55531a86cf0a62c4..93bcc07387ff886e590350f6532f2fdb50219e4f 100644 (file)
@@ -835,6 +835,8 @@ def parse_rx_excludes(options, fatal):
                 raise fatal("couldn't read %s" % parameter)
             for pattern in f.readlines():
                 spattern = pattern.rstrip('\n')
+                if not spattern:
+                    continue
                 try:
                     excluded_patterns.append(re.compile(spattern))
                 except re.error, ex:
index 97f4c72dc652191a3d6c2d5c0fd7137cc967004c..0b073c5862d0cee21514ed8369d63c0f2ae51e84 100755 (executable)
@@ -174,7 +174,10 @@ WVPASS mkdir src/sub1
 WVPASS mkdir src/sub2
 WVPASS touch src/sub1/a
 WVPASS touch src/sub2/b
-WVPASS echo "^$(pwd)/src/sub1/" > exclude-rx-file
+# exclude-rx-file includes blank lines to check that we ignore them.
+WVPASS echo "^$(pwd)/src/sub1/
+
+" > exclude-rx-file
 WVPASS bup index -u src --exclude-rx-from exclude-rx-file
 WVPASS bup save --strip -n bupdir src
 WVPASS bup restore -C buprestore.tmp /bupdir/latest/