|
1 #!/bin/sh |
|
2 |
|
3 echo "[extensions]" >> $HGRCPATH |
|
4 echo "graphlog=" >> $HGRCPATH |
|
5 echo "rebase=" >> $HGRCPATH |
|
6 |
|
7 BASE=`pwd` |
|
8 |
|
9 addcommit () { |
|
10 echo $1 > $1 |
|
11 hg add $1 |
|
12 hg commit -d "${2} 0" -m $1 |
|
13 } |
|
14 |
|
15 commit () { |
|
16 hg commit -d "${2} 0" -m $1 |
|
17 } |
|
18 |
|
19 createrepo () { |
|
20 cd $BASE |
|
21 rm -rf a |
|
22 hg init a |
|
23 cd a |
|
24 addcommit "A" 0 |
|
25 addcommit "B" 1 |
|
26 addcommit "C" 2 |
|
27 addcommit "D" 3 |
|
28 |
|
29 hg update -C 0 |
|
30 addcommit "E" 4 |
|
31 } |
|
32 |
|
33 createrepo > /dev/null 2>&1 |
|
34 hg glog --template '{rev}: {desc}\n' |
|
35 echo '% Rebasing D onto E detaching from C' |
|
36 hg rebase --detach -s 3 -d 4 2>&1 | sed 's/\(saving bundle to \).*/\1/' |
|
37 hg glog --template '{rev}: {desc}\n' |
|
38 echo "Expected A, D, E" |
|
39 hg manifest |
|
40 |
|
41 echo |
|
42 createrepo > /dev/null 2>&1 |
|
43 hg glog --template '{rev}: {desc}\n' |
|
44 echo '% Rebasing C onto E detaching from B' |
|
45 hg rebase --detach -s 2 -d 4 2>&1 | sed 's/\(saving bundle to \).*/\1/' |
|
46 hg glog --template '{rev}: {desc}\n' |
|
47 echo "Expected A, C, D, E" |
|
48 hg manifest |
|
49 |
|
50 echo |
|
51 createrepo > /dev/null 2>&1 |
|
52 hg glog --template '{rev}: {desc}\n' |
|
53 echo '% Rebasing B onto E using detach (same as not using it)' |
|
54 hg rebase --detach -s 1 -d 4 2>&1 | sed 's/\(saving bundle to \).*/\1/' |
|
55 hg glog --template '{rev}: {desc}\n' |
|
56 echo "Expected A, B, C, D, E" |
|
57 hg manifest |
|
58 |
|
59 echo |
|
60 createrepo > /dev/null 2>&1 |
|
61 hg glog --template '{rev}: {desc}\n' |
|
62 echo '% Rebasing C onto E detaching from B and collapsing' |
|
63 hg rebase --detach --collapse -s 2 -d 4 2>&1 | sed 's/\(saving bundle to \).*/\1/' |
|
64 hg glog --template '{rev}: {desc}\n' |
|
65 echo "Expected A, C, D, E" |
|
66 hg manifest |
|
67 |
|
68 exit 0 |