- rm -r "$tmp"
-) || WVFAIL
-
-WVSTART "save --strip"
-(
- tmp=graft-points.tmp
- force-delete $tmp
- mkdir $tmp
- export BUP_DIR="$(pwd)/$tmp/bup"
- WVPASS bup init
- mkdir -p $tmp/src/x/y/z
- WVPASS bup random 8k > $tmp/src/x/y/random-1
- WVPASS bup random 8k > $tmp/src/x/y/z/random-2
- WVPASS bup index -u $tmp/src
- WVPASS bup save --strip -n foo $tmp/src/x/y
- WVPASS bup restore -C $tmp/restore /foo/latest
- WVPASS t/compare-trees $tmp/src/x/y/ "$tmp/restore/latest/"
-) || WVFAIL
-
-WVSTART "save --strip-path (relative)"
-(
- tmp=graft-points.tmp
- force-delete $tmp
- mkdir $tmp
- export BUP_DIR="$(pwd)/$tmp/bup"
- WVPASS bup init
- mkdir -p $tmp/src/x/y/z
- WVPASS bup random 8k > $tmp/src/x/y/random-1
- WVPASS bup random 8k > $tmp/src/x/y/z/random-2
- WVPASS bup index -u $tmp/src
- WVPASS bup save --strip-path $tmp/src -n foo $tmp/src/x
- WVPASS bup restore -C $tmp/restore /foo/latest
- WVPASS t/compare-trees $tmp/src/ "$tmp/restore/latest/"
-) || WVFAIL
-
-WVSTART "save --strip-path (absolute)"
-(
- tmp=graft-points.tmp
- force-delete $tmp
- mkdir $tmp
- export BUP_DIR="$(pwd)/$tmp/bup"
- WVPASS bup init
- mkdir -p $tmp/src/x/y/z
- WVPASS bup random 8k > $tmp/src/x/y/random-1
- WVPASS bup random 8k > $tmp/src/x/y/z/random-2
- WVPASS bup index -u $tmp/src
- WVPASS bup save --strip-path "$TOP" -n foo $tmp/src
- WVPASS bup restore -C $tmp/restore /foo/latest
- WVPASS t/compare-trees $tmp/src/ "$tmp/restore/latest/$tmp/src/"
-) || WVFAIL
-
-WVSTART "save --strip-path (no match)"
-(
- tmp=graft-points.tmp
- force-delete $tmp
- mkdir $tmp
- export BUP_DIR="$(pwd)/$tmp/bup"
- WVPASS bup init
- mkdir -p $tmp/src/x/y/z
- WVPASS bup random 8k > $tmp/src/x/y/random-1
- WVPASS bup random 8k > $tmp/src/x/y/z/random-2
- WVPASS bup index -u $tmp/src
- WVPASS bup save --strip-path $tmp/foo -n foo $tmp/src/x
- WVPASS bup restore -C $tmp/restore /foo/latest
- WVPASS t/compare-trees $tmp/src/ "$tmp/restore/latest/$TOP/$tmp/src/"
-) || WVFAIL
-
-WVSTART "save --graft (empty graft points disallowed)"
-(
- tmp=graft-points.tmp
- force-delete $tmp
- mkdir $tmp
- export BUP_DIR="$(pwd)/$tmp/bup"
- WVPASS bup init
- WVFAIL bup save --graft =/grafted -n graft-point-absolute $tmp
- WVFAIL bup save --graft $TOP/$tmp= -n graft-point-absolute $tmp
-) || WVFAIL
-
-WVSTART "save --graft /x/y=/a/b (relative paths)"
-(
- tmp=graft-points.tmp
- force-delete $tmp
- mkdir $tmp
- export BUP_DIR="$(pwd)/$tmp/bup"
- WVPASS bup init
- mkdir -p $tmp/src/x/y/z
- WVPASS bup random 8k > $tmp/src/x/y/random-1
- WVPASS bup random 8k > $tmp/src/x/y/z/random-2
- WVPASS bup index -u $tmp/src
- WVPASS bup save --graft $tmp/src=x -n foo $tmp/src
- WVPASS bup restore -C $tmp/restore /foo/latest
- WVPASS t/compare-trees $tmp/src/ "$tmp/restore/latest/$TOP/x/"
-) || WVFAIL
-
-WVSTART "save --graft /x/y=/a/b (matching structure)"
-(
- tmp=graft-points.tmp
- force-delete $tmp
- mkdir $tmp
- export BUP_DIR="$(pwd)/$tmp/bup"
- WVPASS bup init
- mkdir -p $tmp/src/x/y/z
- WVPASS bup random 8k > $tmp/src/x/y/random-1
- WVPASS bup random 8k > $tmp/src/x/y/z/random-2
- WVPASS bup index -u $tmp/src
- WVPASS bup save -v --graft "$TOP/$tmp/src/x/y=$TOP/$tmp/src/a/b" \
- -n foo $tmp/src/x/y
- WVPASS bup restore -C $tmp/restore /foo/latest
- WVPASS t/compare-trees $tmp/src/x/y/ \
- "$tmp/restore/latest/$TOP/$tmp/src/a/b/"
-) || WVFAIL
-
-WVSTART "save --graft /x/y=/a (shorter target)"
-(
- tmp=graft-points.tmp
- force-delete $tmp
- mkdir $tmp
- export BUP_DIR="$(pwd)/$tmp/bup"
- WVPASS bup init
- mkdir -p $tmp/src/x/y/z
- WVPASS bup random 8k > $tmp/src/x/y/random-1
- WVPASS bup random 8k > $tmp/src/x/y/z/random-2
- WVPASS bup index -u $tmp/src
- WVPASS bup save -v --graft "$TOP/$tmp/src/x/y=/a" -n foo $tmp/src/x/y
- WVPASS bup restore -C $tmp/restore /foo/latest
- WVPASS t/compare-trees $tmp/src/x/y/ "$tmp/restore/latest/a/"
-) || WVFAIL
-
-WVSTART "save --graft /x=/a/b (longer target)"
-(
- tmp=graft-points.tmp
- export BUP_DIR="$(pwd)/$tmp/bup"
- force-delete $tmp
- mkdir $tmp
- WVPASS bup init
- mkdir -p $tmp/src/x/y/z
- WVPASS bup random 8k > $tmp/src/x/y/random-1
- WVPASS bup random 8k > $tmp/src/x/y/z/random-2
- WVPASS bup index -u $tmp/src
- WVPASS bup save -v --graft "$TOP/$tmp/src=$TOP/$tmp/src/a/b/c" \
- -n foo $tmp/src
- WVPASS bup restore -C $tmp/restore /foo/latest
- WVPASS t/compare-trees $tmp/src/ "$tmp/restore/latest/$TOP/$tmp/src/a/b/c/"
-) || WVFAIL
-
-WVSTART "save --graft /x=/ (root target)"
-(
- tmp=graft-points.tmp
- export BUP_DIR="$(pwd)/$tmp/bup"
- force-delete $tmp
- mkdir $tmp
- WVPASS bup init
- mkdir -p $tmp/src/x/y/z
- WVPASS bup random 8k > $tmp/src/x/y/random-1
- WVPASS bup random 8k > $tmp/src/x/y/z/random-2
- WVPASS bup index -u $tmp/src
- WVPASS bup save -v --graft "$TOP/$tmp/src/x=/" -n foo $tmp/src/x
- WVPASS bup restore -C $tmp/restore /foo/latest
- WVPASS t/compare-trees $tmp/src/x/ "$tmp/restore/latest/"
-) || WVFAIL
-
-#WVSTART "save --graft /=/x/ (root source)"
-# FIXME: Not tested for now -- will require cleverness, or caution as root.