1#! /bin/sh 2 3# Copyright (C) 2004 by Wayne Davison <wayned@samba.org> 4 5# This program is distributable under the terms of the GNU GPL (see 6# COPYING). 7 8# Make sure we can merge files from multiple directories into one. 9 10. "$suitedir/rsync.fns" 11 12# Build some files/dirs/links to copy 13 14from1dir="${fromdir}1" 15from2dir="${fromdir}2" 16from3dir="${fromdir}3" 17 18mkdir "$from1dir" "$from2dir" "$from3dir" 19mkdir "$from2dir"/sub1 "$from3dir"/sub1 20mkdir "$from3dir"/sub2 "$from1dir"/dir-and-not-dir 21mkdir "$chkdir" "$chkdir"/sub1 "$chkdir"/sub2 "$chkdir"/dir-and-not-dir 22echo "one" >"$from1dir"/one 23cp -p "$from1dir"/one "$from2dir"/one 24cp -p "$from1dir"/one "$from3dir"/one 25echo "two" >"$from1dir"/two 26echo "three" >"$from2dir"/three 27echo "four" >"$from3dir"/four 28echo "five" >"$from1dir"/five 29echo "six" >"$from3dir"/six 30echo "sub1" >"$from2dir"/sub1/uno 31cp -p "$from2dir"/sub1/uno "$from3dir"/sub1/uno 32echo "sub2" >"$from3dir"/sub1/dos 33echo "sub3" >"$from2dir"/sub1/tres 34echo "subby" >"$from3dir"/sub2/subby 35echo "extra" >"$from1dir"/dir-and-not-dir/inside 36echo "not-dir" >"$from3dir"/dir-and-not-dir 37 38cp -p "$from1dir"/one "$from1dir"/two "$from2dir"/three "$from3dir"/four "$from1dir"/five "$from3dir"/six "$chkdir" 39cp -p "$from1dir"/dir-and-not-dir/inside "$chkdir"/dir-and-not-dir 40cp -p "$from2dir"/sub1/uno "$from3dir"/sub1/dos "$from2dir"/sub1/tres "$chkdir"/sub1 41cp -p "$from3dir"/sub2/subby "$chkdir"/sub2 42 43# Get rid of any directory-time differences 44$RSYNC -av --existing -f 'exclude,! */' "$from1dir/" "$from2dir/" 45$RSYNC -av --existing -f 'exclude,! */' "$from2dir/" "$from3dir/" 46$RSYNC -av --existing -f 'exclude,! */' "$from1dir/" "$chkdir/" 47$RSYNC -av --existing -f 'exclude,! */' "$from3dir/" "$chkdir/" 48 49checkit "$RSYNC -aHvv \"$from1dir/\" \"$from2dir/\" \"$from3dir/\" \"$todir/\"" "$chkdir" "$todir" 50 51# The script would have aborted on error, so getting here means we've won. 52exit 0 53