#! /bin/sh

set -e

DESCRIPTION="git-imerge test repository"

modify() {
    filename="$1"
    text="$2"
    echo "$text" >"$filename" &&
    git add "$filename"
}

BASE="$(dirname "$(cd $(dirname "$0") && pwd)")"
TMP="$BASE/t/tmp"

if test -d "$TMP"
then
    # Be very careful before running "rm -rf":
    if test "x$(cat "$TMP/.git/description")" = "x$DESCRIPTION"
    then
        echo "Removing directory $TMP" >&2
        rm -rf "$TMP"
    else
        echo "Directory $TMP already exists!" >&2
        exit 1
    fi
fi

mkdir -p "$TMP"
cd "$TMP"
git init
echo "$DESCRIPTION" >.git/description
git config user.name 'Lou User'
git config user.email 'luser@example.com'

modify a.txt 0
git commit -m 'm0'

git checkout -b a --
for i in $(seq 8)
do
    modify a.txt $i
    git commit -m "a$i"
done

git checkout -b b master --
for i in $(seq 5)
do
    modify b.txt $i
    git commit -m "b$i"
done

git checkout -b c master --
for i in $(seq 3)
do
    modify c.txt $i
    git commit -m "c$i"
done
modify conflict.txt "c version"
git commit -m "c conflict"
for i in $(seq 4 8)
do
    modify c.txt $i
    git commit -m "c$i"
done

git checkout -b d master --
for i in $(seq 2)
do
    modify d.txt $i
    git commit -m "d$i"
done
modify conflict.txt "d version"
git commit -m "d conflict"
for i in $(seq 3 5)
do
    modify d.txt $i
    git commit -m "d$i"
done

git checkout master --

ln -s ../../imerge.css
