11#! /bin/bash -x
2+ create ()
3+ {
4+ for d in 1 2 3 4 5 6 7 8 9 10; do
5+ echo " $1 "
6+ done > " $1 "
7+ }
8+
29. shellopts.sh
310set -e
411
@@ -8,27 +15,27 @@ mkdir mainline subproj
815cd subproj
916git init
1017
11- touch sub1
18+ create sub1
1219git add sub1
13- git commit -m ' sub-1 '
20+ git commit -m ' sub1 '
1421git branch sub1
1522git branch -m master subproj
1623
17- touch sub2
24+ create sub2
1825git add sub2
19- git commit -m ' sub-2 '
26+ git commit -m ' sub2 '
2027git branch sub2
2128
22- touch sub3
29+ create sub3
2330git add sub3
24- git commit -m ' sub-3 '
31+ git commit -m ' sub3 '
2532git branch sub3
2633
2734cd ../mainline
2835git init
29- touch main1
30- git add main1
31- git commit -m ' main-1 '
36+ create main4
37+ git add main4
38+ git commit -m ' main4 '
3239git branch -m master mainline
3340
3441git fetch ../subproj sub1
@@ -38,49 +45,49 @@ git subtree add --prefix=subdir FETCH_HEAD
3845# this shouldn't actually do anything, since FETCH_HEAD is already a parent
3946git merge -m ' merge -s -ours' -s ours FETCH_HEAD
4047
41- touch subdir/main-sub3
42- git add subdir/main-sub3
43- git commit -m ' main-sub3 '
48+ create subdir/main-sub5
49+ git add subdir/main-sub5
50+ git commit -m ' main-sub5 '
4451
45- touch main-2
46- git add main-2
47- git commit -m ' main-2 boring'
52+ create main6
53+ git add main6
54+ git commit -m ' main6 boring'
4855
49- touch subdir/main-sub4
50- git add subdir/main-sub4
51- git commit -m ' main-sub4 '
56+ create subdir/main-sub7
57+ git add subdir/main-sub7
58+ git commit -m ' main-sub7 '
5259
5360git fetch ../subproj sub2
5461git branch sub2 FETCH_HEAD
5562git subtree merge --prefix=subdir FETCH_HEAD
5663git branch pre-split
5764
58- split1=$( git subtree split --prefix subdir --onto FETCH_HEAD --rejoin)
65+ split1=$( git subtree split --annotate= ' * ' -- prefix subdir --onto FETCH_HEAD --rejoin)
5966echo " split1={$split1 }"
6067git branch split1 " $split1 "
6168
62- touch subdir/main-sub5
63- git add subdir/main-sub5
64- git commit -m ' main-sub5 '
69+ create subdir/main-sub8
70+ git add subdir/main-sub8
71+ git commit -m ' main-sub8 '
6572
6673cd ../subproj
6774git fetch ../mainline split1
6875git branch split1 FETCH_HEAD
6976git merge FETCH_HEAD
7077
71- touch sub6
72- git add sub6
73- git commit -m ' sub6 '
78+ create sub9
79+ git add sub9
80+ git commit -m ' sub9 '
7481
7582cd ../mainline
76- split2=$( git subtree split --prefix subdir --rejoin)
83+ split2=$( git subtree split --annotate= ' * ' -- prefix subdir --rejoin)
7784git branch split2 " $split2 "
7885
79- touch subdir/main-sub7
80- git add subdir/main-sub7
81- git commit -m ' main-sub7 '
86+ create subdir/main-sub10
87+ git add subdir/main-sub10
88+ git commit -m ' main-sub10 '
8289
83- split3=$( git subtree split --prefix subdir --rejoin)
90+ split3=$( git subtree split --annotate= ' * ' -- prefix subdir --rejoin)
8491git branch split3 " $split3 "
8592
8693cd ../subproj
0 commit comments