author | Martin Geisler <mg@lazybytes.net> |
Sun, 04 Oct 2009 22:03:41 +0200 | |
changeset 10443 | 62d484a81dfe |
parent 10413 | e433002acb05 |
child 10468 | 2250fc372d34 |
permissions | -rwxr-xr-x |
8816 | 1 |
#!/bin/sh |
2 |
||
3 |
rm -rf sub |
|
4 |
mkdir sub |
|
5 |
cd sub |
|
6 |
hg init t |
|
7 |
cd t |
|
8 |
||
9 |
echo % first revision, no sub |
|
10 |
echo a > a |
|
11 |
hg ci -Am0 |
|
12 |
||
13 |
echo % add first sub |
|
14 |
echo s = s > .hgsub |
|
15 |
hg add .hgsub |
|
16 |
hg init s |
|
17 |
echo a > s/a |
|
18 |
hg -R s ci -Ams0 |
|
19 |
hg ci -m1 |
|
20 |
||
21 |
echo % add sub sub |
|
22 |
echo ss = ss > s/.hgsub |
|
23 |
hg init s/ss |
|
24 |
echo a > s/ss/a |
|
25 |
hg -R s add s/.hgsub |
|
26 |
hg -R s/ss add s/ss/a |
|
27 |
hg ci -m2 |
|
28 |
||
29 |
echo % bump sub rev |
|
30 |
echo b > s/a |
|
31 |
hg -R s ci -ms1 |
|
32 |
hg ci -m3 |
|
33 |
||
34 |
echo % leave sub dirty |
|
35 |
echo c > s/a |
|
36 |
hg ci -m4 |
|
37 |
hg tip -R s |
|
38 |
||
39 |
echo % check caching |
|
40 |
hg co 0 |
|
41 |
hg debugsub |
|
42 |
echo % restore |
|
43 |
hg co |
|
44 |
hg debugsub |
|
45 |
||
46 |
echo % new branch for merge tests |
|
47 |
hg co 1 |
|
48 |
echo t = t >> .hgsub |
|
49 |
hg init t |
|
50 |
echo t > t/t |
|
51 |
hg -R t add t |
|
52 |
echo % 5 |
|
53 |
hg ci -m5 # add sub |
|
54 |
echo t2 > t/t |
|
55 |
echo % 6 |
|
56 |
hg st -R s |
|
57 |
hg ci -m6 # change sub |
|
58 |
hg debugsub |
|
59 |
echo t3 > t/t |
|
60 |
echo % 7 |
|
61 |
hg ci -m7 # change sub again for conflict test |
|
62 |
hg rm .hgsub |
|
63 |
echo % 8 |
|
64 |
hg ci -m8 # remove sub |
|
65 |
||
66 |
echo % merge tests |
|
67 |
hg co -C 3 |
|
68 |
hg merge 5 # test adding |
|
69 |
hg debugsub |
|
70 |
hg ci -m9 |
|
71 |
hg merge 6 --debug # test change |
|
72 |
hg debugsub |
|
73 |
echo conflict > t/t |
|
74 |
hg ci -m10 |
|
75 |
HGMERGE=internal:merge hg merge --debug 7 # test conflict |
|
76 |
echo % should conflict |
|
77 |
cat t/t |
|
78 |
||
79 |
echo % clone |
|
80 |
cd .. |
|
81 |
hg clone t tc |
|
82 |
cd tc |
|
83 |
hg debugsub |
|
84 |
||
85 |
echo % push |
|
86 |
echo bah > t/t |
|
87 |
hg ci -m11 |
|
88 |
hg push | sed 's/ .*sub/ ...sub/g' |
|
89 |
||
90 |
echo % push -f |
|
91 |
echo bah > s/a |
|
92 |
hg ci -m12 |
|
93 |
hg push | sed 's/ .*sub/ ...sub/g' |
|
94 |
hg push -f | sed 's/ .*sub/ ...sub/g' |
|
95 |
||
96 |
echo % update |
|
97 |
cd ../t |
|
98 |
hg up -C # discard our earlier merge |
|
99 |
echo blah > t/t |
|
100 |
hg ci -m13 |
|
101 |
||
102 |
echo % pull |
|
103 |
cd ../tc |
|
104 |
hg pull | sed 's/ .*sub/ ...sub/g' |
|
105 |
hg up # should pull t |
|
106 |
cat t/t |
|
10251
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
107 |
|
10177
5ca0d220ae21
subrepo: add table-based dispatch for subrepo types
Augie Fackler <durin42@gmail.com>
parents:
8816
diff
changeset
|
108 |
echo % bogus subrepo path aborts |
5ca0d220ae21
subrepo: add table-based dispatch for subrepo types
Augie Fackler <durin42@gmail.com>
parents:
8816
diff
changeset
|
109 |
echo 'bogus=[boguspath' >> .hgsub |
5ca0d220ae21
subrepo: add table-based dispatch for subrepo types
Augie Fackler <durin42@gmail.com>
parents:
8816
diff
changeset
|
110 |
hg ci -m 'bogus subrepo path' |
5ca0d220ae21
subrepo: add table-based dispatch for subrepo types
Augie Fackler <durin42@gmail.com>
parents:
8816
diff
changeset
|
111 |
|
10251
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
112 |
echo % issue 1986 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
113 |
cd .. |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
114 |
rm -rf sub |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
115 |
hg init main |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
116 |
cd main |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
117 |
|
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
118 |
hg init s # subrepo layout |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
119 |
cd s # |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
120 |
echo a > a # o 5 br |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
121 |
hg ci -Am1 # /| |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
122 |
hg branch br # o | 4 default |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
123 |
echo a >> a # | | |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
124 |
hg ci -m1 # | o 3 br |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
125 |
hg up default # |/| |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
126 |
echo b > b # o | 2 default |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
127 |
hg ci -Am1 # | | |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
128 |
hg up br # | o 1 br |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
129 |
hg merge tip # |/ |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
130 |
hg ci -m1 # o 0 default |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
131 |
hg up 2 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
132 |
echo c > c |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
133 |
hg ci -Am1 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
134 |
hg up 3 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
135 |
hg merge 4 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
136 |
hg ci -m1 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
137 |
|
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
138 |
cd .. # main repo layout: |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
139 |
echo 's = s' > .hgsub # |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
140 |
hg -R s up 2 # * <-- try to merge default into br again |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
141 |
hg ci -Am1 # .`| |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
142 |
hg branch br # . o 5 br --> substate = 5 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
143 |
echo b > b # . | |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
144 |
hg -R s up 3 # o | 4 default --> substate = 4 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
145 |
hg ci -Am1 # | | |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
146 |
hg up default # | o 3 br --> substate = 2 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
147 |
echo c > c # |/| |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
148 |
hg ci -Am1 # o | 2 default --> substate = 2 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
149 |
hg up 1 # | | |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
150 |
hg merge 2 # | o 1 br --> substate = 3 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
151 |
hg ci -m1 # |/ |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
152 |
hg up 2 # o 0 default --> substate = 2 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
153 |
hg -R s up 4 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
154 |
echo d > d |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
155 |
hg ci -Am1 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
156 |
hg up 3 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
157 |
hg -R s up 5 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
158 |
echo e > e |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
159 |
hg ci -Am1 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
160 |
|
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
161 |
hg up 5 |
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
162 |
hg merge 4 # try to merge default into br again |
10378
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
163 |
cd .. |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
164 |
|
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
165 |
echo % test repository cloning |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
166 |
mkdir mercurial mercurial2 |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
167 |
hg init nested_absolute |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
168 |
echo test > nested_absolute/foo |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
169 |
hg -R nested_absolute add |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
170 |
hg -R nested_absolute ci -mtest |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
171 |
cd mercurial |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
172 |
hg init nested_relative |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
173 |
echo test2 > nested_relative/foo2 |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
174 |
hg -R nested_relative add |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
175 |
hg -R nested_relative ci -mtest2 |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
176 |
hg init main |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
177 |
echo nested_relative = ../nested_relative > main/.hgsub |
10413
e433002acb05
fix up a bunch of check-code warnings
Matt Mackall <mpm@selenic.com>
parents:
10378
diff
changeset
|
178 |
echo nested_absolute = `pwd`/nested_absolute >> main/.hgsub |
10378
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
179 |
hg -R main add |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
180 |
hg -R main ci -m "add subrepos" |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
181 |
cd .. |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
182 |
hg clone mercurial/main mercurial2/main |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
183 |
cat mercurial2/main/nested_absolute/.hg/hgrc mercurial2/main/nested_relative/.hg/hgrc | sed "s:${PWD}:/tmp:" |
e1401c74572f
subrepo: change default path in hgrc of subrepo after cloning
Saint Germain <saintger@gmail.com>
parents:
10252
diff
changeset
|
184 |
rm -rf mercurial mercurial2 |
10251
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
185 |
|
a19d2993385d
subrepo: fix merging of already merged subrepos (issue1986)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8816
diff
changeset
|
186 |
exit 0 |