mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-03-15 21:09:01 -04:00
Fixes bug #96 where --mkpath makes rsync complain when a dest path exists but the path contains an alt-dest name for the single file.
48 lines
1.4 KiB
Bash
Executable File
48 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
. "$suitedir/rsync.fns"
|
|
|
|
makepath "$fromdir"
|
|
makepath "$todir"
|
|
|
|
cp_p "$srcdir/rsync.h" "$fromdir/text"
|
|
cp_p "$srcdir/configure.ac" "$fromdir/extra"
|
|
|
|
cd "$tmpdir"
|
|
|
|
deep_dir=to/foo/bar/baz/down/deep
|
|
|
|
# Check that we can create several levels of dest dir
|
|
$RSYNC -aiv --mkpath from/text $deep_dir/new
|
|
test -f $deep_dir/new || test_fail "'new' file not found in $deep_dir dir"
|
|
rm -rf to/foo
|
|
|
|
$RSYNC -aiv --mkpath from/text $deep_dir/
|
|
test -f $deep_dir/text || test_fail "'text' file not found in $deep_dir dir"
|
|
rm $deep_dir/text
|
|
|
|
# Make sure we can handle an existing path
|
|
mkdir $deep_dir/new
|
|
$RSYNC -aiv --mkpath from/text $deep_dir/new
|
|
test -f $deep_dir/new/text || test_fail "'text' file not found in $deep_dir/new dir"
|
|
|
|
# ... and an existing path when an alternate dest filename is specified
|
|
$RSYNC -aiv --mkpath from/text $deep_dir/new/text2
|
|
test -f $deep_dir/new/text2 || test_fail "'text2' file not found in $deep_dir/new dir"
|
|
rm -rf to/foo
|
|
|
|
# Try the tests again with multiple source args
|
|
$RSYNC -aiv --mkpath from/ $deep_dir
|
|
test -f $deep_dir/extra || test_fail "'extra' file not found in $deep_dir dir"
|
|
rm -rf to/foo
|
|
|
|
$RSYNC -aiv --mkpath from/ $deep_dir/
|
|
test -f $deep_dir/text || test_fail "'text' file not found in $deep_dir dir"
|
|
|
|
# Make sure that we can handle no path
|
|
$RSYNC -aiv --mkpath from/text to_text
|
|
test -f to_text || test_fail "'to_text' file not found in current dir"
|
|
|
|
# The script would have aborted on error, so getting here means we've won.
|
|
exit 0
|