|
1 $ . "$TESTDIR/narrow-library.sh" |
|
2 |
|
3 $ hg init master |
|
4 $ cd master |
|
5 $ cat >> .hg/hgrc <<EOF |
|
6 > [narrow] |
|
7 > serveellipses=True |
|
8 > EOF |
|
9 $ mkdir dir |
|
10 $ mkdir dir/src |
|
11 $ cd dir/src |
|
12 $ for x in `$TESTDIR/seq.py 20`; do echo $x > "f$x"; hg add "f$x"; hg commit -m "Commit src $x"; done |
|
13 $ cd .. |
|
14 $ mkdir tests |
|
15 $ cd tests |
|
16 $ for x in `$TESTDIR/seq.py 20`; do echo $x > "t$x"; hg add "t$x"; hg commit -m "Commit test $x"; done |
|
17 $ cd ../../.. |
|
18 |
|
19 narrow clone a file, f10 |
|
20 |
|
21 $ hg clone --narrow ssh://user@dummy/master narrow --noupdate --include "dir/src/f10" |
|
22 requesting all changes |
|
23 adding changesets |
|
24 adding manifests |
|
25 adding file changes |
|
26 added 3 changesets with 1 changes to 1 files |
|
27 new changesets *:* (glob) |
|
28 $ cd narrow |
|
29 $ cat .hg/requires | grep -v generaldelta |
|
30 dotencode |
|
31 fncache |
|
32 narrowhg |
|
33 revlogv1 |
|
34 store |
|
35 |
|
36 $ cat .hg/narrowspec |
|
37 [includes] |
|
38 path:dir/src/f10 |
|
39 [excludes] |
|
40 $ hg tracked |
|
41 I path:dir/src/f10 |
|
42 $ hg update |
|
43 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
44 $ find * | sort |
|
45 dir |
|
46 dir/src |
|
47 dir/src/f10 |
|
48 $ cat dir/src/f10 |
|
49 10 |
|
50 |
|
51 $ cd .. |
|
52 |
|
53 narrow clone with a newline should fail |
|
54 |
|
55 $ hg clone --narrow ssh://user@dummy/master narrow_fail --noupdate --include 'dir/src/f10 |
|
56 > ' |
|
57 requesting all changes |
|
58 abort: newlines are not allowed in narrowspec paths |
|
59 [255] |
|
60 |
|
61 narrow clone a directory, tests/, except tests/t19 |
|
62 |
|
63 $ hg clone --narrow ssh://user@dummy/master narrowdir --noupdate --include "dir/tests/" --exclude "dir/tests/t19" |
|
64 requesting all changes |
|
65 adding changesets |
|
66 adding manifests |
|
67 adding file changes |
|
68 added 21 changesets with 19 changes to 19 files |
|
69 new changesets *:* (glob) |
|
70 $ cd narrowdir |
|
71 $ cat .hg/narrowspec |
|
72 [includes] |
|
73 path:dir/tests |
|
74 [excludes] |
|
75 path:dir/tests/t19 |
|
76 $ hg tracked |
|
77 I path:dir/tests |
|
78 X path:dir/tests/t19 |
|
79 $ hg update |
|
80 19 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
81 $ find * | sort |
|
82 dir |
|
83 dir/tests |
|
84 dir/tests/t1 |
|
85 dir/tests/t10 |
|
86 dir/tests/t11 |
|
87 dir/tests/t12 |
|
88 dir/tests/t13 |
|
89 dir/tests/t14 |
|
90 dir/tests/t15 |
|
91 dir/tests/t16 |
|
92 dir/tests/t17 |
|
93 dir/tests/t18 |
|
94 dir/tests/t2 |
|
95 dir/tests/t20 |
|
96 dir/tests/t3 |
|
97 dir/tests/t4 |
|
98 dir/tests/t5 |
|
99 dir/tests/t6 |
|
100 dir/tests/t7 |
|
101 dir/tests/t8 |
|
102 dir/tests/t9 |
|
103 |
|
104 $ cd .. |
|
105 |
|
106 narrow clone everything but a directory (tests/) |
|
107 |
|
108 $ hg clone --narrow ssh://user@dummy/master narrowroot --noupdate --exclude "dir/tests" |
|
109 requesting all changes |
|
110 adding changesets |
|
111 adding manifests |
|
112 adding file changes |
|
113 added 21 changesets with 20 changes to 20 files |
|
114 new changesets *:* (glob) |
|
115 $ cd narrowroot |
|
116 $ cat .hg/narrowspec |
|
117 [includes] |
|
118 path:. |
|
119 [excludes] |
|
120 path:dir/tests |
|
121 $ hg tracked |
|
122 I path:. |
|
123 X path:dir/tests |
|
124 $ hg update |
|
125 20 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
126 $ find * | sort |
|
127 dir |
|
128 dir/src |
|
129 dir/src/f1 |
|
130 dir/src/f10 |
|
131 dir/src/f11 |
|
132 dir/src/f12 |
|
133 dir/src/f13 |
|
134 dir/src/f14 |
|
135 dir/src/f15 |
|
136 dir/src/f16 |
|
137 dir/src/f17 |
|
138 dir/src/f18 |
|
139 dir/src/f19 |
|
140 dir/src/f2 |
|
141 dir/src/f20 |
|
142 dir/src/f3 |
|
143 dir/src/f4 |
|
144 dir/src/f5 |
|
145 dir/src/f6 |
|
146 dir/src/f7 |
|
147 dir/src/f8 |
|
148 dir/src/f9 |
|
149 |
|
150 $ cd .. |
|
151 |
|
152 narrow clone no paths at all |
|
153 |
|
154 $ hg clone --narrow ssh://user@dummy/master narrowempty --noupdate |
|
155 requesting all changes |
|
156 adding changesets |
|
157 adding manifests |
|
158 adding file changes |
|
159 added 1 changesets with 0 changes to 0 files |
|
160 new changesets * (glob) |
|
161 $ cd narrowempty |
|
162 $ hg tracked |
|
163 $ hg update |
|
164 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
165 $ ls |
|
166 |
|
167 $ cd .. |
|
168 |
|
169 simple clone |
|
170 $ hg clone ssh://user@dummy/master simpleclone |
|
171 requesting all changes |
|
172 adding changesets |
|
173 adding manifests |
|
174 adding file changes |
|
175 added 40 changesets with 40 changes to 40 files |
|
176 new changesets * (glob) |
|
177 updating to branch default |
|
178 40 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
179 $ cd simpleclone |
|
180 $ find * | sort |
|
181 dir |
|
182 dir/src |
|
183 dir/src/f1 |
|
184 dir/src/f10 |
|
185 dir/src/f11 |
|
186 dir/src/f12 |
|
187 dir/src/f13 |
|
188 dir/src/f14 |
|
189 dir/src/f15 |
|
190 dir/src/f16 |
|
191 dir/src/f17 |
|
192 dir/src/f18 |
|
193 dir/src/f19 |
|
194 dir/src/f2 |
|
195 dir/src/f20 |
|
196 dir/src/f3 |
|
197 dir/src/f4 |
|
198 dir/src/f5 |
|
199 dir/src/f6 |
|
200 dir/src/f7 |
|
201 dir/src/f8 |
|
202 dir/src/f9 |
|
203 dir/tests |
|
204 dir/tests/t1 |
|
205 dir/tests/t10 |
|
206 dir/tests/t11 |
|
207 dir/tests/t12 |
|
208 dir/tests/t13 |
|
209 dir/tests/t14 |
|
210 dir/tests/t15 |
|
211 dir/tests/t16 |
|
212 dir/tests/t17 |
|
213 dir/tests/t18 |
|
214 dir/tests/t19 |
|
215 dir/tests/t2 |
|
216 dir/tests/t20 |
|
217 dir/tests/t3 |
|
218 dir/tests/t4 |
|
219 dir/tests/t5 |
|
220 dir/tests/t6 |
|
221 dir/tests/t7 |
|
222 dir/tests/t8 |
|
223 dir/tests/t9 |
|
224 |
|
225 $ cd .. |