#!/bin/bash -x
+. shellopts.sh
+set -e
+
create()
{
- for d in 1 2 3 4 5 6 7 8 9 10; do
- echo "$1"
- done >"$1"
+ echo "$1" >"$1"
+ git add "$1"
}
-. shellopts.sh
-set -e
rm -rf mainline subproj
mkdir mainline subproj
git init
create sub1
-git add sub1
git commit -m 'sub1'
git branch sub1
git branch -m master subproj
create sub2
-git add sub2
git commit -m 'sub2'
git branch sub2
create sub3
-git add sub3
git commit -m 'sub3'
git branch sub3
cd ../mainline
git init
create main4
-git add main4
git commit -m 'main4'
git branch -m master mainline
git merge -m 'merge -s -ours' -s ours FETCH_HEAD
create subdir/main-sub5
-git add subdir/main-sub5
git commit -m 'main-sub5'
create main6
-git add main6
git commit -m 'main6 boring'
create subdir/main-sub7
-git add subdir/main-sub7
git commit -m 'main-sub7'
git fetch ../subproj sub2
git branch split1 "$split1"
create subdir/main-sub8
-git add subdir/main-sub8
git commit -m 'main-sub8'
cd ../subproj
git merge FETCH_HEAD
create sub9
-git add sub9
git commit -m 'sub9'
cd ../mainline
git branch split2 "$split2"
create subdir/main-sub10
-git add subdir/main-sub10
git commit -m 'main-sub10'
split3=$(git subtree split --annotate='*' --prefix subdir --rejoin)