New test to make sure that merging files from multiple directories
[rsync/rsync.git] / testsuite / merge.test
CommitLineData
12865a97
WD
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. $srcdir/testsuite/rsync.fns
11
12set -x
13
14# Build some files/dirs/links to copy
15
16fromdir="$scratchdir/from"
17from1dir="${fromdir}1"
18from2dir="${fromdir}2"
19from3dir="${fromdir}3"
20todir="$scratchdir/to"
21chkdir="$scratchdir/chk"
22
23mkdir "$from1dir" "$from2dir" "$from3dir"
24mkdir "$from2dir"/sub1 "$from3dir"/sub1
25mkdir "$from3dir"/sub2
26mkdir "$chkdir" "$chkdir"/sub1 "$chkdir"/sub2
27echo "one" >"$from1dir"/one
28echo "uno" >"$from2dir"/one
29echo "1" >"$from3dir"/one
30echo "two" >"$from1dir"/two
31echo "three" >"$from2dir"/three
32echo "four" >"$from3dir"/four
33echo "five" >"$from1dir"/five
34echo "six" >"$from3dir"/six
35echo "sub1" >"$from2dir"/sub1/uno
36echo "hmm1" >"$from3dir"/sub1/uno
37echo "sub2" >"$from3dir"/sub1/dos
38echo "sub3" >"$from2dir"/sub1/tres
39echo "subby" >"$from3dir"/sub2/subby
40
41cp -p "$from1dir"/one "$from1dir"/two "$from2dir"/three "$from3dir"/four "$from1dir"/five "$from3dir"/six "$chkdir"
42cp -p "$from2dir"/sub1/uno "$from3dir"/sub1/dos "$from2dir"/sub1/tres "$chkdir"/sub1
43cp -p "$from3dir"/sub2/subby "$chkdir"/sub2
44
45# Fix the directory times
46$RSYNC -av --include='*/' --exclude='*' "$from3dir/" "$chkdir/"
47$RSYNC -av --include='*/' --exclude='*' "$from2dir/" "$chkdir/"
48$RSYNC -av --include='*/' --exclude='*' "$from1dir/" "$chkdir/"
49
50checkit "$RSYNC -aHvv \"$fromdir\"?/ \"$todir/\"" "$chkdir" "$todir"
51
52exit 0