Update rrsync with the latest options.
[rsync/rsync.git] / testsuite / files-from.test
1 #!/bin/sh
2
3 # Copyright (C) 2008 by Wayne Davison <wayned@samba.org>
4
5 # This program is distributable under the terms of the GNU GPL (see
6 # COPYING).
7
8 # Test that --files-from=FILE works right.
9
10 . "$suitedir/rsync.fns"
11
12 SSH="$scratchdir/src/support/lsh"
13
14 hands_setup
15
16 # This list of files skips the contents of "subsubdir" but includes
17 # the contents of "subsubdir2" due to its trailing slash.
18 cat >"$scratchdir/filelist" <<EOT
19 from/./
20 from/./dir/subdir
21 from/./dir/subdir/subsubdir
22 from/./dir/subdir/subsubdir2/
23 from/./dir/subdir/foobar.baz
24 EOT
25
26 # Create a chkdir without the content that we expect to be omitted.
27 $RSYNC -a --exclude=dir/text --exclude='subsubdir/**' "$fromdir/" "$chkdir/"
28
29 checkit "$RSYNC -av --files-from='$scratchdir/filelist' '$scratchdir' '$todir/'" "$chkdir" "$todir"
30
31 for filehost in '' 'localhost:'; do
32     for srchost in '' 'localhost:'; do
33         if [ -z "$srchost" ]; then
34             desthost='localhost:'
35         else
36             desthost=''
37         fi
38
39         rm -rf "$todir"
40         checkit "$RSYNC -avse '$SSH' --rsync-path='$RSYNC' --files-from='$filehost$scratchdir/filelist' '$srchost$scratchdir' '$desthost$todir/'" "$chkdir" "$todir"
41     done
42 done
43
44 # The script would have aborted on error, so getting here means we've won.
45 exit 0