##// END OF EJS Templates
test-hardlink: do not test .hg/cache/checklink...
Jun Wu -
r32295:b9135f19 default
parent child Browse files
Show More
@@ -1,411 +1,416 b''
1 #require hardlink
1 #require hardlink
2
2
3 $ cat > nlinks.py <<EOF
3 $ cat > nlinks.py <<EOF
4 > import sys
4 > import sys
5 > from mercurial import util
5 > from mercurial import util
6 > for f in sorted(sys.stdin.readlines()):
6 > for f in sorted(sys.stdin.readlines()):
7 > f = f[:-1]
7 > f = f[:-1]
8 > print util.nlinks(f), f
8 > print util.nlinks(f), f
9 > EOF
9 > EOF
10
10
11 $ nlinksdir()
11 $ nlinksdir()
12 > {
12 > {
13 > find "$@" -type f | python $TESTTMP/nlinks.py
13 > find "$@" -type f | python $TESTTMP/nlinks.py
14 > }
14 > }
15
15
16 Some implementations of cp can't create hardlinks (replaces 'cp -al' on Linux):
16 Some implementations of cp can't create hardlinks (replaces 'cp -al' on Linux):
17
17
18 $ cat > linkcp.py <<EOF
18 $ cat > linkcp.py <<EOF
19 > from mercurial import util
19 > from mercurial import util
20 > import sys
20 > import sys
21 > util.copyfiles(sys.argv[1], sys.argv[2], hardlink=True)
21 > util.copyfiles(sys.argv[1], sys.argv[2], hardlink=True)
22 > EOF
22 > EOF
23
23
24 $ linkcp()
24 $ linkcp()
25 > {
25 > {
26 > python $TESTTMP/linkcp.py $1 $2
26 > python $TESTTMP/linkcp.py $1 $2
27 > }
27 > }
28
28
29 Prepare repo r1:
29 Prepare repo r1:
30
30
31 $ hg init r1
31 $ hg init r1
32 $ cd r1
32 $ cd r1
33
33
34 $ echo c1 > f1
34 $ echo c1 > f1
35 $ hg add f1
35 $ hg add f1
36 $ hg ci -m0
36 $ hg ci -m0
37
37
38 $ mkdir d1
38 $ mkdir d1
39 $ cd d1
39 $ cd d1
40 $ echo c2 > f2
40 $ echo c2 > f2
41 $ hg add f2
41 $ hg add f2
42 $ hg ci -m1
42 $ hg ci -m1
43 $ cd ../..
43 $ cd ../..
44
44
45 $ nlinksdir r1/.hg/store
45 $ nlinksdir r1/.hg/store
46 1 r1/.hg/store/00changelog.i
46 1 r1/.hg/store/00changelog.i
47 1 r1/.hg/store/00manifest.i
47 1 r1/.hg/store/00manifest.i
48 1 r1/.hg/store/data/d1/f2.i
48 1 r1/.hg/store/data/d1/f2.i
49 1 r1/.hg/store/data/f1.i
49 1 r1/.hg/store/data/f1.i
50 1 r1/.hg/store/fncache
50 1 r1/.hg/store/fncache
51 1 r1/.hg/store/phaseroots
51 1 r1/.hg/store/phaseroots
52 1 r1/.hg/store/undo
52 1 r1/.hg/store/undo
53 1 r1/.hg/store/undo.backup.fncache
53 1 r1/.hg/store/undo.backup.fncache
54 1 r1/.hg/store/undo.backupfiles
54 1 r1/.hg/store/undo.backupfiles
55 1 r1/.hg/store/undo.phaseroots
55 1 r1/.hg/store/undo.phaseroots
56
56
57
57
58 Create hardlinked clone r2:
58 Create hardlinked clone r2:
59
59
60 $ hg clone -U --debug r1 r2 --config progress.debug=true
60 $ hg clone -U --debug r1 r2 --config progress.debug=true
61 linking: 1
61 linking: 1
62 linking: 2
62 linking: 2
63 linking: 3
63 linking: 3
64 linking: 4
64 linking: 4
65 linking: 5
65 linking: 5
66 linking: 6
66 linking: 6
67 linking: 7
67 linking: 7
68 linked 7 files
68 linked 7 files
69
69
70 Create non-hardlinked clone r3:
70 Create non-hardlinked clone r3:
71
71
72 $ hg clone --pull r1 r3
72 $ hg clone --pull r1 r3
73 requesting all changes
73 requesting all changes
74 adding changesets
74 adding changesets
75 adding manifests
75 adding manifests
76 adding file changes
76 adding file changes
77 added 2 changesets with 2 changes to 2 files
77 added 2 changesets with 2 changes to 2 files
78 updating to branch default
78 updating to branch default
79 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
79 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
80
80
81
81
82 Repos r1 and r2 should now contain hardlinked files:
82 Repos r1 and r2 should now contain hardlinked files:
83
83
84 $ nlinksdir r1/.hg/store
84 $ nlinksdir r1/.hg/store
85 2 r1/.hg/store/00changelog.i
85 2 r1/.hg/store/00changelog.i
86 2 r1/.hg/store/00manifest.i
86 2 r1/.hg/store/00manifest.i
87 2 r1/.hg/store/data/d1/f2.i
87 2 r1/.hg/store/data/d1/f2.i
88 2 r1/.hg/store/data/f1.i
88 2 r1/.hg/store/data/f1.i
89 2 r1/.hg/store/fncache
89 2 r1/.hg/store/fncache
90 1 r1/.hg/store/phaseroots
90 1 r1/.hg/store/phaseroots
91 1 r1/.hg/store/undo
91 1 r1/.hg/store/undo
92 1 r1/.hg/store/undo.backup.fncache
92 1 r1/.hg/store/undo.backup.fncache
93 1 r1/.hg/store/undo.backupfiles
93 1 r1/.hg/store/undo.backupfiles
94 1 r1/.hg/store/undo.phaseroots
94 1 r1/.hg/store/undo.phaseroots
95
95
96 $ nlinksdir r2/.hg/store
96 $ nlinksdir r2/.hg/store
97 2 r2/.hg/store/00changelog.i
97 2 r2/.hg/store/00changelog.i
98 2 r2/.hg/store/00manifest.i
98 2 r2/.hg/store/00manifest.i
99 2 r2/.hg/store/data/d1/f2.i
99 2 r2/.hg/store/data/d1/f2.i
100 2 r2/.hg/store/data/f1.i
100 2 r2/.hg/store/data/f1.i
101 2 r2/.hg/store/fncache
101 2 r2/.hg/store/fncache
102
102
103 Repo r3 should not be hardlinked:
103 Repo r3 should not be hardlinked:
104
104
105 $ nlinksdir r3/.hg/store
105 $ nlinksdir r3/.hg/store
106 1 r3/.hg/store/00changelog.i
106 1 r3/.hg/store/00changelog.i
107 1 r3/.hg/store/00manifest.i
107 1 r3/.hg/store/00manifest.i
108 1 r3/.hg/store/data/d1/f2.i
108 1 r3/.hg/store/data/d1/f2.i
109 1 r3/.hg/store/data/f1.i
109 1 r3/.hg/store/data/f1.i
110 1 r3/.hg/store/fncache
110 1 r3/.hg/store/fncache
111 1 r3/.hg/store/phaseroots
111 1 r3/.hg/store/phaseroots
112 1 r3/.hg/store/undo
112 1 r3/.hg/store/undo
113 1 r3/.hg/store/undo.backupfiles
113 1 r3/.hg/store/undo.backupfiles
114 1 r3/.hg/store/undo.phaseroots
114 1 r3/.hg/store/undo.phaseroots
115
115
116
116
117 Create a non-inlined filelog in r3:
117 Create a non-inlined filelog in r3:
118
118
119 $ cd r3/d1
119 $ cd r3/d1
120 >>> f = open('data1', 'wb')
120 >>> f = open('data1', 'wb')
121 >>> for x in range(10000):
121 >>> for x in range(10000):
122 ... f.write("%s\n" % str(x))
122 ... f.write("%s\n" % str(x))
123 >>> f.close()
123 >>> f.close()
124 $ for j in 0 1 2 3 4 5 6 7 8 9; do
124 $ for j in 0 1 2 3 4 5 6 7 8 9; do
125 > cat data1 >> f2
125 > cat data1 >> f2
126 > hg commit -m$j
126 > hg commit -m$j
127 > done
127 > done
128 $ cd ../..
128 $ cd ../..
129
129
130 $ nlinksdir r3/.hg/store
130 $ nlinksdir r3/.hg/store
131 1 r3/.hg/store/00changelog.i
131 1 r3/.hg/store/00changelog.i
132 1 r3/.hg/store/00manifest.i
132 1 r3/.hg/store/00manifest.i
133 1 r3/.hg/store/data/d1/f2.d
133 1 r3/.hg/store/data/d1/f2.d
134 1 r3/.hg/store/data/d1/f2.i
134 1 r3/.hg/store/data/d1/f2.i
135 1 r3/.hg/store/data/f1.i
135 1 r3/.hg/store/data/f1.i
136 1 r3/.hg/store/fncache
136 1 r3/.hg/store/fncache
137 1 r3/.hg/store/phaseroots
137 1 r3/.hg/store/phaseroots
138 1 r3/.hg/store/undo
138 1 r3/.hg/store/undo
139 1 r3/.hg/store/undo.backup.fncache
139 1 r3/.hg/store/undo.backup.fncache
140 1 r3/.hg/store/undo.backup.phaseroots
140 1 r3/.hg/store/undo.backup.phaseroots
141 1 r3/.hg/store/undo.backupfiles
141 1 r3/.hg/store/undo.backupfiles
142 1 r3/.hg/store/undo.phaseroots
142 1 r3/.hg/store/undo.phaseroots
143
143
144 Push to repo r1 should break up most hardlinks in r2:
144 Push to repo r1 should break up most hardlinks in r2:
145
145
146 $ hg -R r2 verify
146 $ hg -R r2 verify
147 checking changesets
147 checking changesets
148 checking manifests
148 checking manifests
149 crosschecking files in changesets and manifests
149 crosschecking files in changesets and manifests
150 checking files
150 checking files
151 2 files, 2 changesets, 2 total revisions
151 2 files, 2 changesets, 2 total revisions
152
152
153 $ cd r3
153 $ cd r3
154 $ hg push
154 $ hg push
155 pushing to $TESTTMP/r1 (glob)
155 pushing to $TESTTMP/r1 (glob)
156 searching for changes
156 searching for changes
157 adding changesets
157 adding changesets
158 adding manifests
158 adding manifests
159 adding file changes
159 adding file changes
160 added 10 changesets with 10 changes to 1 files
160 added 10 changesets with 10 changes to 1 files
161
161
162 $ cd ..
162 $ cd ..
163
163
164 $ nlinksdir r2/.hg/store
164 $ nlinksdir r2/.hg/store
165 1 r2/.hg/store/00changelog.i
165 1 r2/.hg/store/00changelog.i
166 1 r2/.hg/store/00manifest.i
166 1 r2/.hg/store/00manifest.i
167 1 r2/.hg/store/data/d1/f2.i
167 1 r2/.hg/store/data/d1/f2.i
168 2 r2/.hg/store/data/f1.i
168 2 r2/.hg/store/data/f1.i
169 [12] r2/\.hg/store/fncache (re)
169 [12] r2/\.hg/store/fncache (re)
170
170
171 #if hardlink-whitelisted
171 #if hardlink-whitelisted
172 $ nlinksdir r2/.hg/store/fncache
172 $ nlinksdir r2/.hg/store/fncache
173 2 r2/.hg/store/fncache
173 2 r2/.hg/store/fncache
174 #endif
174 #endif
175
175
176 $ hg -R r2 verify
176 $ hg -R r2 verify
177 checking changesets
177 checking changesets
178 checking manifests
178 checking manifests
179 crosschecking files in changesets and manifests
179 crosschecking files in changesets and manifests
180 checking files
180 checking files
181 2 files, 2 changesets, 2 total revisions
181 2 files, 2 changesets, 2 total revisions
182
182
183
183
184 $ cd r1
184 $ cd r1
185 $ hg up
185 $ hg up
186 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
186 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
187
187
188 Committing a change to f1 in r1 must break up hardlink f1.i in r2:
188 Committing a change to f1 in r1 must break up hardlink f1.i in r2:
189
189
190 $ echo c1c1 >> f1
190 $ echo c1c1 >> f1
191 $ hg ci -m00
191 $ hg ci -m00
192 $ cd ..
192 $ cd ..
193
193
194 $ nlinksdir r2/.hg/store
194 $ nlinksdir r2/.hg/store
195 1 r2/.hg/store/00changelog.i
195 1 r2/.hg/store/00changelog.i
196 1 r2/.hg/store/00manifest.i
196 1 r2/.hg/store/00manifest.i
197 1 r2/.hg/store/data/d1/f2.i
197 1 r2/.hg/store/data/d1/f2.i
198 1 r2/.hg/store/data/f1.i
198 1 r2/.hg/store/data/f1.i
199 [12] r2/\.hg/store/fncache (re)
199 [12] r2/\.hg/store/fncache (re)
200
200
201 #if hardlink-whitelisted
201 #if hardlink-whitelisted
202 $ nlinksdir r2/.hg/store/fncache
202 $ nlinksdir r2/.hg/store/fncache
203 2 r2/.hg/store/fncache
203 2 r2/.hg/store/fncache
204 #endif
204 #endif
205
205
206 $ cd r3
206 $ cd r3
207 $ hg tip --template '{rev}:{node|short}\n'
207 $ hg tip --template '{rev}:{node|short}\n'
208 11:a6451b6bc41f
208 11:a6451b6bc41f
209 $ echo bla > f1
209 $ echo bla > f1
210 $ hg ci -m1
210 $ hg ci -m1
211 $ cd ..
211 $ cd ..
212
212
213 Create hardlinked copy r4 of r3 (on Linux, we would call 'cp -al'):
213 Create hardlinked copy r4 of r3 (on Linux, we would call 'cp -al'):
214
214
215 $ linkcp r3 r4
215 $ linkcp r3 r4
216
216
217 'checklink' is produced by hardlinking a symlink, which is undefined whether
218 the symlink should be followed or not. It does behave differently on Linux and
219 BSD. Just remove it so the test pass on both platforms.
220
221 $ rm -f r4/.hg/cache/checklink
222
217 r4 has hardlinks in the working dir (not just inside .hg):
223 r4 has hardlinks in the working dir (not just inside .hg):
218
224
219 $ nlinksdir r4
225 $ nlinksdir r4
220 2 r4/.hg/00changelog.i
226 2 r4/.hg/00changelog.i
221 2 r4/.hg/branch
227 2 r4/.hg/branch
222 2 r4/.hg/cache/checkisexec (execbit !)
228 2 r4/.hg/cache/checkisexec (execbit !)
223 3 r4/.hg/cache/checklink (?)
224 ? r4/.hg/cache/checklink-target (glob) (symlink !)
229 ? r4/.hg/cache/checklink-target (glob) (symlink !)
225 2 r4/.hg/cache/checknoexec (execbit !)
230 2 r4/.hg/cache/checknoexec (execbit !)
226 2 r4/.hg/cache/branch2-base
231 2 r4/.hg/cache/branch2-base
227 2 r4/.hg/cache/branch2-served
232 2 r4/.hg/cache/branch2-served
228 2 r4/.hg/cache/checkisexec
233 2 r4/.hg/cache/checkisexec
229 2 r4/.hg/cache/checklink-target
234 2 r4/.hg/cache/checklink-target
230 2 r4/.hg/cache/checknoexec
235 2 r4/.hg/cache/checknoexec
231 2 r4/.hg/cache/rbc-names-v1
236 2 r4/.hg/cache/rbc-names-v1
232 2 r4/.hg/cache/rbc-revs-v1
237 2 r4/.hg/cache/rbc-revs-v1
233 2 r4/.hg/dirstate
238 2 r4/.hg/dirstate
234 2 r4/.hg/hgrc
239 2 r4/.hg/hgrc
235 2 r4/.hg/last-message.txt
240 2 r4/.hg/last-message.txt
236 2 r4/.hg/requires
241 2 r4/.hg/requires
237 2 r4/.hg/store/00changelog.i
242 2 r4/.hg/store/00changelog.i
238 2 r4/.hg/store/00manifest.i
243 2 r4/.hg/store/00manifest.i
239 2 r4/.hg/store/data/d1/f2.d
244 2 r4/.hg/store/data/d1/f2.d
240 2 r4/.hg/store/data/d1/f2.i
245 2 r4/.hg/store/data/d1/f2.i
241 2 r4/.hg/store/data/f1.i
246 2 r4/.hg/store/data/f1.i
242 2 r4/.hg/store/fncache
247 2 r4/.hg/store/fncache
243 2 r4/.hg/store/phaseroots
248 2 r4/.hg/store/phaseroots
244 2 r4/.hg/store/undo
249 2 r4/.hg/store/undo
245 2 r4/.hg/store/undo.backup.fncache
250 2 r4/.hg/store/undo.backup.fncache
246 2 r4/.hg/store/undo.backup.phaseroots
251 2 r4/.hg/store/undo.backup.phaseroots
247 2 r4/.hg/store/undo.backupfiles
252 2 r4/.hg/store/undo.backupfiles
248 2 r4/.hg/store/undo.phaseroots
253 2 r4/.hg/store/undo.phaseroots
249 [24] r4/\.hg/undo\.backup\.dirstate (re)
254 [24] r4/\.hg/undo\.backup\.dirstate (re)
250 2 r4/.hg/undo.bookmarks
255 2 r4/.hg/undo.bookmarks
251 2 r4/.hg/undo.branch
256 2 r4/.hg/undo.branch
252 2 r4/.hg/undo.desc
257 2 r4/.hg/undo.desc
253 [24] r4/\.hg/undo\.dirstate (re)
258 [24] r4/\.hg/undo\.dirstate (re)
254 2 r4/d1/data1
259 2 r4/d1/data1
255 2 r4/d1/f2
260 2 r4/d1/f2
256 2 r4/f1
261 2 r4/f1
257
262
258 #if hardlink-whitelisted
263 #if hardlink-whitelisted
259 $ nlinksdir r4/.hg/undo.backup.dirstate r4/.hg/undo.dirstate
264 $ nlinksdir r4/.hg/undo.backup.dirstate r4/.hg/undo.dirstate
260 4 r4/.hg/undo.backup.dirstate
265 4 r4/.hg/undo.backup.dirstate
261 4 r4/.hg/undo.dirstate
266 4 r4/.hg/undo.dirstate
262 #endif
267 #endif
263
268
264 Update back to revision 11 in r4 should break hardlink of file f1:
269 Update back to revision 11 in r4 should break hardlink of file f1:
265
270
266 $ hg -R r4 up 11
271 $ hg -R r4 up 11
267 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
272 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
268
273
269 $ nlinksdir r4
274 $ nlinksdir r4
270 2 r4/.hg/00changelog.i
275 2 r4/.hg/00changelog.i
271 1 r4/.hg/branch
276 1 r4/.hg/branch
272 2 r4/.hg/cache/checkisexec (execbit !)
277 2 r4/.hg/cache/checkisexec (execbit !)
273 2 r4/.hg/cache/checklink-target (symlink !)
278 2 r4/.hg/cache/checklink-target (symlink !)
274 2 r4/.hg/cache/checknoexec (execbit !)
279 2 r4/.hg/cache/checknoexec (execbit !)
275 2 r4/.hg/cache/branch2-base
280 2 r4/.hg/cache/branch2-base
276 2 r4/.hg/cache/branch2-served
281 2 r4/.hg/cache/branch2-served
277 2 r4/.hg/cache/checkisexec
282 2 r4/.hg/cache/checkisexec
278 2 r4/.hg/cache/checklink-target
283 2 r4/.hg/cache/checklink-target
279 2 r4/.hg/cache/checknoexec
284 2 r4/.hg/cache/checknoexec
280 2 r4/.hg/cache/rbc-names-v1
285 2 r4/.hg/cache/rbc-names-v1
281 2 r4/.hg/cache/rbc-revs-v1
286 2 r4/.hg/cache/rbc-revs-v1
282 1 r4/.hg/dirstate
287 1 r4/.hg/dirstate
283 2 r4/.hg/hgrc
288 2 r4/.hg/hgrc
284 2 r4/.hg/last-message.txt
289 2 r4/.hg/last-message.txt
285 2 r4/.hg/requires
290 2 r4/.hg/requires
286 2 r4/.hg/store/00changelog.i
291 2 r4/.hg/store/00changelog.i
287 2 r4/.hg/store/00manifest.i
292 2 r4/.hg/store/00manifest.i
288 2 r4/.hg/store/data/d1/f2.d
293 2 r4/.hg/store/data/d1/f2.d
289 2 r4/.hg/store/data/d1/f2.i
294 2 r4/.hg/store/data/d1/f2.i
290 2 r4/.hg/store/data/f1.i
295 2 r4/.hg/store/data/f1.i
291 2 r4/.hg/store/fncache
296 2 r4/.hg/store/fncache
292 2 r4/.hg/store/phaseroots
297 2 r4/.hg/store/phaseroots
293 2 r4/.hg/store/undo
298 2 r4/.hg/store/undo
294 2 r4/.hg/store/undo.backup.fncache
299 2 r4/.hg/store/undo.backup.fncache
295 2 r4/.hg/store/undo.backup.phaseroots
300 2 r4/.hg/store/undo.backup.phaseroots
296 2 r4/.hg/store/undo.backupfiles
301 2 r4/.hg/store/undo.backupfiles
297 2 r4/.hg/store/undo.phaseroots
302 2 r4/.hg/store/undo.phaseroots
298 [24] r4/\.hg/undo\.backup\.dirstate (re)
303 [24] r4/\.hg/undo\.backup\.dirstate (re)
299 2 r4/.hg/undo.bookmarks
304 2 r4/.hg/undo.bookmarks
300 2 r4/.hg/undo.branch
305 2 r4/.hg/undo.branch
301 2 r4/.hg/undo.desc
306 2 r4/.hg/undo.desc
302 [24] r4/\.hg/undo\.dirstate (re)
307 [24] r4/\.hg/undo\.dirstate (re)
303 2 r4/d1/data1
308 2 r4/d1/data1
304 2 r4/d1/f2
309 2 r4/d1/f2
305 1 r4/f1
310 1 r4/f1
306
311
307 #if hardlink-whitelisted
312 #if hardlink-whitelisted
308 $ nlinksdir r4/.hg/undo.backup.dirstate r4/.hg/undo.dirstate
313 $ nlinksdir r4/.hg/undo.backup.dirstate r4/.hg/undo.dirstate
309 4 r4/.hg/undo.backup.dirstate
314 4 r4/.hg/undo.backup.dirstate
310 4 r4/.hg/undo.dirstate
315 4 r4/.hg/undo.dirstate
311 #endif
316 #endif
312
317
313 Test hardlinking outside hg:
318 Test hardlinking outside hg:
314
319
315 $ mkdir x
320 $ mkdir x
316 $ echo foo > x/a
321 $ echo foo > x/a
317
322
318 $ linkcp x y
323 $ linkcp x y
319 $ echo bar >> y/a
324 $ echo bar >> y/a
320
325
321 No diff if hardlink:
326 No diff if hardlink:
322
327
323 $ diff x/a y/a
328 $ diff x/a y/a
324
329
325 Test mq hardlinking:
330 Test mq hardlinking:
326
331
327 $ echo "[extensions]" >> $HGRCPATH
332 $ echo "[extensions]" >> $HGRCPATH
328 $ echo "mq=" >> $HGRCPATH
333 $ echo "mq=" >> $HGRCPATH
329
334
330 $ hg init a
335 $ hg init a
331 $ cd a
336 $ cd a
332
337
333 $ hg qimport -n foo - << EOF
338 $ hg qimport -n foo - << EOF
334 > # HG changeset patch
339 > # HG changeset patch
335 > # Date 1 0
340 > # Date 1 0
336 > diff -r 2588a8b53d66 a
341 > diff -r 2588a8b53d66 a
337 > --- /dev/null Thu Jan 01 00:00:00 1970 +0000
342 > --- /dev/null Thu Jan 01 00:00:00 1970 +0000
338 > +++ b/a Wed Jul 23 15:54:29 2008 +0200
343 > +++ b/a Wed Jul 23 15:54:29 2008 +0200
339 > @@ -0,0 +1,1 @@
344 > @@ -0,0 +1,1 @@
340 > +a
345 > +a
341 > EOF
346 > EOF
342 adding foo to series file
347 adding foo to series file
343
348
344 $ hg qpush
349 $ hg qpush
345 applying foo
350 applying foo
346 now at: foo
351 now at: foo
347
352
348 $ cd ..
353 $ cd ..
349 $ linkcp a b
354 $ linkcp a b
350 $ cd b
355 $ cd b
351
356
352 $ hg qimport -n bar - << EOF
357 $ hg qimport -n bar - << EOF
353 > # HG changeset patch
358 > # HG changeset patch
354 > # Date 2 0
359 > # Date 2 0
355 > diff -r 2588a8b53d66 a
360 > diff -r 2588a8b53d66 a
356 > --- /dev/null Thu Jan 01 00:00:00 1970 +0000
361 > --- /dev/null Thu Jan 01 00:00:00 1970 +0000
357 > +++ b/b Wed Jul 23 15:54:29 2008 +0200
362 > +++ b/b Wed Jul 23 15:54:29 2008 +0200
358 > @@ -0,0 +1,1 @@
363 > @@ -0,0 +1,1 @@
359 > +b
364 > +b
360 > EOF
365 > EOF
361 adding bar to series file
366 adding bar to series file
362
367
363 $ hg qpush
368 $ hg qpush
364 applying bar
369 applying bar
365 now at: bar
370 now at: bar
366
371
367 $ cat .hg/patches/status
372 $ cat .hg/patches/status
368 430ed4828a74fa4047bc816a25500f7472ab4bfe:foo
373 430ed4828a74fa4047bc816a25500f7472ab4bfe:foo
369 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c:bar
374 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c:bar
370
375
371 $ cat .hg/patches/series
376 $ cat .hg/patches/series
372 foo
377 foo
373 bar
378 bar
374
379
375 $ cat ../a/.hg/patches/status
380 $ cat ../a/.hg/patches/status
376 430ed4828a74fa4047bc816a25500f7472ab4bfe:foo
381 430ed4828a74fa4047bc816a25500f7472ab4bfe:foo
377
382
378 $ cat ../a/.hg/patches/series
383 $ cat ../a/.hg/patches/series
379 foo
384 foo
380
385
381 Test tags hardlinking:
386 Test tags hardlinking:
382
387
383 $ hg qdel -r qbase:qtip
388 $ hg qdel -r qbase:qtip
384 patch foo finalized without changeset message
389 patch foo finalized without changeset message
385 patch bar finalized without changeset message
390 patch bar finalized without changeset message
386
391
387 $ hg tag -l lfoo
392 $ hg tag -l lfoo
388 $ hg tag foo
393 $ hg tag foo
389
394
390 $ cd ..
395 $ cd ..
391 $ linkcp b c
396 $ linkcp b c
392 $ cd c
397 $ cd c
393
398
394 $ hg tag -l -r 0 lbar
399 $ hg tag -l -r 0 lbar
395 $ hg tag -r 0 bar
400 $ hg tag -r 0 bar
396
401
397 $ cat .hgtags
402 $ cat .hgtags
398 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo
403 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo
399 430ed4828a74fa4047bc816a25500f7472ab4bfe bar
404 430ed4828a74fa4047bc816a25500f7472ab4bfe bar
400
405
401 $ cat .hg/localtags
406 $ cat .hg/localtags
402 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo
407 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo
403 430ed4828a74fa4047bc816a25500f7472ab4bfe lbar
408 430ed4828a74fa4047bc816a25500f7472ab4bfe lbar
404
409
405 $ cat ../b/.hgtags
410 $ cat ../b/.hgtags
406 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo
411 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo
407
412
408 $ cat ../b/.hg/localtags
413 $ cat ../b/.hg/localtags
409 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo
414 4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo
410
415
411 $ cd ..
416 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now