]> git.michaelhowe.org Git - packages/b/bup.git/commitdiff
Include suggestions of Rob Browning:
authorTim Riemenschneider <git@tim-riemenschneider.de>
Sat, 22 Nov 2014 14:41:31 +0000 (15:41 +0100)
committerTim Riemenschneider <git@tim-riemenschneider.de>
Thu, 2 Jul 2015 20:45:59 +0000 (22:45 +0200)
- don't use set -e in testcase
- catch exceptions on read
- reword option-help

(cherry-picked from proposed/index-exclude-caches branch: 307774fd)
Signed-off-by: Tim Riemenschneider <git@tim-riemenschneider.de>
cmd/index-cmd.py
lib/bup/drecurse.py
t/test-index-excludes.sh

index c07252b072b70c9cd4c503758559653a088e7d0c..5bdcc4373a474467aa52128bc28cc387c8b51503 100755 (executable)
@@ -208,7 +208,7 @@ exclude-from= skip --exclude paths in file (may be repeated)
 exclude-rx= skip paths matching the unanchored regex (may be repeated)
 exclude-rx-from= skip --exclude-rx patterns in file (may be repeated)
 exclude-if-present= exclude directory if the given file is present
-exclude-caches exclude CACHEDIR.TAG-directories
+exclude-caches exclude directories containing a CACHEDIR.TAG
 v,verbose  increase log output (can be used more than once)
 x,xdev,one-file-system  don't cross filesystem boundaries
 """
index 8404f8b1e6831594d043bf85e3c93d12f53f2c15..a2d78aefbd3ee3a007bb546ecb7861d152549702 100644 (file)
@@ -71,8 +71,10 @@ def _recursive_dirlist(prepend, xdev, bup_dir=None,
                 tag_contents = 'Signature: 8a477f597d28d172789f06886806bc55'
                 if os.path.exists(prepend+name+tag_filename):
                     f = open(prepend+name+tag_filename, 'rb')
-                    data = f.read(len(tag_contents))
-                    f.close()
+                    try:
+                        data = f.read(len(tag_contents))
+                    finally:
+                        f.close()
                     if data == tag_contents:
                         debug1('Skipping %r: excluding cache dir' % (prepend+name))
                         continue
index d667a3f4e05cfc5dff5a45008689778fe79072eb..6c5e3a828668a0c5a734a50d5c4e656609f2ff31 100755 (executable)
@@ -28,19 +28,18 @@ f"
 
 WVSTART "exclude-caches"
 (
-    set -e -o pipefail
-    D="$(wvmktempdir)"
-    force-delete $D
-    mkdir $D
+    D="$(WVPASS wvmktempdir)" || exit $?
+    WVPASS force-delete $D
+    WVPASS mkdir $D
     export BUP_DIR="$D/.bup"
     WVPASS bup init
-    touch $D/a
+    WVPASS touch $D/a
     WVPASS bup random 128k >$D/b
-    mkdir $D/d $D/d/e
+    WVPASS mkdir $D/d $D/d/e
     WVPASS bup random 512 >$D/f
-    echo 'Signature: 8a477f597d28d172789f06886806bc55' > $D/d/CACHEDIR.TAG
+    WVPASS echo 'Signature: 8a477f597d28d172789f06886806bc55' > $D/d/CACHEDIR.TAG
     WVPASS bup index -ux --exclude-caches $D
-    bup save -n exclude $D
+    WVPASS bup save -n exclude $D
     WVPASSEQ "$(bup ls exclude/latest/$TOP/$D/)" "a
 b
 f"