#!/bin/sh

. ${top_srcdir-.}/tests/common.sh

cat << EOF > orig
a
b
c
EOF
cat << EOF > new1
a
b
EOF
cat << EOF > new2
c
a
b
EOF
mkdir orig.dir new1.dir new2.dir
cat << EOF > orig.dir/file
a
EOF
cat << EOF > new1.dir/file
b
EOF

cp new1 start
${DIFF} -u orig new1 > patch1
${DIFF} -u orig new2 > patch2
${INTERDIFF} patch1 patch2 2>errors > patch1-2 || exit 1
[ -s errors ] && exit 1
${PATCH} < patch1-2 || exit 1
cmp new1 new2 || exit 1
${PATCH} -R < patch1-2
cmp new1 start || exit 1

cp new1 new4
cp new2 new3
cp new3 start
${DIFF} -u orig new3 > patch3
${DIFF} -u orig new4 > patch4
${INTERDIFF} patch3 patch4 2>errors > patch3-4 || exit 1
[ -s errors ] && exit 1
${PATCH} < patch3-4 || exit 1
cmp new3 new4 || exit 1
${PATCH} -R < patch3-4
cmp new3 start || exit 1

${DIFF} -urN orig.dir new1.dir > patch5
${DIFF} -urN orig.dir new2.dir > patch6
${INTERDIFF} patch5 patch6 2>errors > patch5-6 || exit 1
[ -s errors ] && exit 1
${INTERDIFF} patch6 patch5 2>errors > patch6-5 || exit 1
[ -s errors ] && exit 1
cd new1.dir
${PATCH} -p1 < ../patch5-6 || exit 1
cd ..
${DIFF} -urN new1.dir new2.dir || exit 1
cd new1.dir
${PATCH} -Rp1 < ../patch5-6 || exit 1
cd ../new2.dir
${PATCH} -p1 < ../patch6-5 || exit 1
cd ..
${DIFF} -urN new1.dir new2.dir || exit 1
cd new2.dir
${PATCH} -Rp1 < ../patch6-5 || exit 1
cd ..
