##// END OF EJS Templates
clone: add progress support to hardlink clones (issue3059)
Augie Fackler -
r24440:27ad6b91 default
parent child Browse files
Show More
@@ -243,6 +243,12 b' def copystore(ui, srcrepo, destpath):'
243 243 try:
244 244 hardlink = None
245 245 num = 0
246 closetopic = [None]
247 def prog(topic, pos):
248 if pos is None:
249 closetopic[0] = topic
250 else:
251 ui.progress(topic, pos + num)
246 252 srcpublishing = srcrepo.ui.configbool('phases', 'publish', True)
247 253 srcvfs = scmutil.vfs(srcrepo.sharedpath)
248 254 dstvfs = scmutil.vfs(destpath)
@@ -259,12 +265,16 b' def copystore(ui, srcrepo, destpath):'
259 265 # lock to avoid premature writing to the target
260 266 destlock = lock.lock(dstvfs, lockfile)
261 267 hardlink, n = util.copyfiles(srcvfs.join(f), dstvfs.join(f),
262 hardlink)
268 hardlink, progress=prog)
263 269 num += n
264 270 if hardlink:
265 271 ui.debug("linked %d files\n" % num)
272 if closetopic[0]:
273 ui.progress(closetopic[0], None)
266 274 else:
267 275 ui.debug("copied %d files\n" % num)
276 if closetopic[0]:
277 ui.progress(closetopic[0], None)
268 278 return destlock
269 279 except: # re-raises
270 280 release(destlock)
@@ -65,6 +65,14 b' No update, with debug option:'
65 65
66 66 #if hardlink
67 67 $ hg --debug clone -U . ../c
68 linking: 1
69 linking: 2
70 linking: 3
71 linking: 4
72 linking: 5
73 linking: 6
74 linking: 7
75 linking: 8
68 76 linked 8 files
69 77 #else
70 78 $ hg --debug clone -U . ../c
@@ -58,6 +58,13 b' Prepare repo r1:'
58 58 Create hardlinked clone r2:
59 59
60 60 $ hg clone -U --debug r1 r2
61 linking: 1
62 linking: 2
63 linking: 3
64 linking: 4
65 linking: 5
66 linking: 6
67 linking: 7
61 68 linked 7 files
62 69
63 70 Create non-hardlinked clone r3:
@@ -342,6 +342,16 b' Test archiving a revision that reference'
342 342 cloned:
343 343
344 344 $ hg clone -U . ../empty
345 \r (no-eol) (esc)
346 linking [ <=> ] 1\r (no-eol) (esc)
347 linking [ <=> ] 2\r (no-eol) (esc)
348 linking [ <=> ] 3\r (no-eol) (esc)
349 linking [ <=> ] 4\r (no-eol) (esc)
350 linking [ <=> ] 5\r (no-eol) (esc)
351 linking [ <=> ] 6\r (no-eol) (esc)
352 linking [ <=> ] 7\r (no-eol) (esc)
353 linking [ <=> ] 8\r (no-eol) (esc)
354 \r (no-eol) (esc)
345 355 $ cd ../empty
346 356 $ hg archive --subrepos -r tip ../archive.tar.gz
347 357 \r (no-eol) (esc)
@@ -355,6 +365,16 b' cloned:'
355 365 archiving [==========================================>] 3/3\r (no-eol) (esc)
356 366 \r (no-eol) (esc)
357 367 \r (no-eol) (esc)
368 linking [ <=> ] 1\r (no-eol) (esc)
369 linking [ <=> ] 2\r (no-eol) (esc)
370 linking [ <=> ] 3\r (no-eol) (esc)
371 linking [ <=> ] 4\r (no-eol) (esc)
372 linking [ <=> ] 5\r (no-eol) (esc)
373 linking [ <=> ] 6\r (no-eol) (esc)
374 linking [ <=> ] 7\r (no-eol) (esc)
375 linking [ <=> ] 8\r (no-eol) (esc)
376 \r (no-eol) (esc)
377 \r (no-eol) (esc)
358 378 archiving (foo) [ ] 0/3\r (no-eol) (esc)
359 379 archiving (foo) [ ] 0/3\r (no-eol) (esc)
360 380 archiving (foo) [===========> ] 1/3\r (no-eol) (esc)
@@ -365,6 +385,14 b' cloned:'
365 385 archiving (foo) [====================================>] 3/3\r (no-eol) (esc)
366 386 \r (no-eol) (esc)
367 387 \r (no-eol) (esc)
388 linking [ <=> ] 1\r (no-eol) (esc)
389 linking [ <=> ] 2\r (no-eol) (esc)
390 linking [ <=> ] 3\r (no-eol) (esc)
391 linking [ <=> ] 4\r (no-eol) (esc)
392 linking [ <=> ] 5\r (no-eol) (esc)
393 linking [ <=> ] 6\r (no-eol) (esc)
394 \r (no-eol) (esc)
395 \r (no-eol) (esc)
368 396 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
369 397 archiving (foo/bar) [ ] 0/1\r (no-eol) (glob) (esc)
370 398 archiving (foo/bar) [================================>] 1/1\r (no-eol) (glob) (esc)
General Comments 0
You need to be logged in to leave comments. Login now