: Included from t1000-read-tree-m-3way.sh and others
# Original tree.
mkdir Z
for a in N D M
do
    for b in N D M
    do
        p=$a$b
	echo This is $p from the original tree. >$p
	echo This is Z/$p from the original tree. >Z/$p
	test_expect_success \
	    "adding test file $p and Z/$p" \
	    'git-update-index --add $p &&
	    git-update-index --add Z/$p'
    done
done
echo This is SS from the original tree. >SS
test_expect_success \
    'adding test file SS' \
    'git-update-index --add SS'
cat >TT <<\EOF
This is a trivial merge sample text.
Branch A is expected to upcase this word, here.
There are some filler lines to avoid diff context
conflicts here,
like this one,
and this one,
and this one is yet another one of them.
At the very end, here comes another line, that is
the word, expected to be upcased by Branch B.
This concludes the trivial merge sample file.
EOF
test_expect_success \
    'adding test file TT' \
    'git-update-index --add TT'
test_expect_success \
    'prepare initial tree' \
    'tree_O=$(git-write-tree)'

################################################################
# Branch A and B makes the changes according to the above matrix.

################################################################
# Branch A

to_remove=$(echo D? Z/D?)
rm -f $to_remove
test_expect_success \
    'change in branch A (removal)' \
    'git-update-index --remove $to_remove'

for p in M? Z/M?
do
    echo This is modified $p in the branch A. >$p
    test_expect_success \
	'change in branch A (modification)' \
        "git-update-index $p"
done

for p in AN AA Z/AN Z/AA
do
    echo This is added $p in the branch A. >$p
    test_expect_success \
	'change in branch A (addition)' \
	"git-update-index --add $p"
done

echo This is SS from the modified tree. >SS
echo This is LL from the modified tree. >LL
test_expect_success \
    'change in branch A (addition)' \
    'git-update-index --add LL &&
     git-update-index SS'
mv TT TT-
sed -e '/Branch A/s/word/WORD/g' <TT- >TT
rm -f TT-
test_expect_success \
    'change in branch A (edit)' \
    'git-update-index TT'

mkdir DF
echo Branch A makes a file at DF/DF, creating a directory DF. >DF/DF
test_expect_success \
    'change in branch A (change file to directory)' \
    'git-update-index --add DF/DF'

test_expect_success \
    'recording branch A tree' \
    'tree_A=$(git-write-tree)'
	   
################################################################
# Branch B
# Start from O

rm -rf [NDMASLT][NDMASLT] Z DF
mkdir Z
test_expect_success \
    'reading original tree and checking out' \
    'git-read-tree $tree_O &&
     git-checkout-index -a'

to_remove=$(echo ?D Z/?D)
rm -f $to_remove
test_expect_success \
    'change in branch B (removal)' \
    "git-update-index --remove $to_remove"

for p in ?M Z/?M
do
    echo This is modified $p in the branch B. >$p
    test_expect_success \
	'change in branch B (modification)' \
	"git-update-index $p"
done

for p in NA AA Z/NA Z/AA
do
    echo This is added $p in the branch B. >$p
    test_expect_success \
	'change in branch B (addition)' \
	"git-update-index --add $p"
done
echo This is SS from the modified tree. >SS
echo This is LL from the modified tree. >LL
test_expect_success \
    'change in branch B (addition and modification)' \
    'git-update-index --add LL &&
     git-update-index SS'
mv TT TT-
sed -e '/Branch B/s/word/WORD/g' <TT- >TT
rm -f TT-
test_expect_success \
    'change in branch B (modification)' \
    'git-update-index TT'

echo Branch B makes a file at DF. >DF
test_expect_success \
    'change in branch B (addition of a file to conflict with directory)' \
    'git-update-index --add DF'

test_expect_success \
    'recording branch B tree' \
    'tree_B=$(git-write-tree)'

test_expect_success \
    'keep contents of 3 trees for easy access' \
    'rm -f .git/index &&
     git-read-tree $tree_O &&
     mkdir .orig-O &&
     git-checkout-index --prefix=.orig-O/ -f -q -a &&
     rm -f .git/index &&
     git-read-tree $tree_A &&
     mkdir .orig-A &&
     git-checkout-index --prefix=.orig-A/ -f -q -a &&
     rm -f .git/index &&
     git-read-tree $tree_B &&
     mkdir .orig-B &&
     git-checkout-index --prefix=.orig-B/ -f -q -a'
