comparison mercurial/hg.py @ 23545:68c434799559

hg.clone: set 'stream' depending on whether --pull was requested or not In an upcoming patch we'll differentiate between the two in localrepo.
author Siddharth Agarwal <sid0@fb.com>
date Fri, 12 Dec 2014 14:02:56 -0800
parents e53f6b72a0e4
children cd79fb4d75fd
comparison
equal deleted inserted replaced
23544:7cc0fb0080b6 23545:68c434799559
282 source: repository object or URL 282 source: repository object or URL
283 283
284 dest: URL of destination repository to create (defaults to base 284 dest: URL of destination repository to create (defaults to base
285 name of source repository) 285 name of source repository)
286 286
287 pull: always pull from source repository, even in local case 287 pull: always pull from source repository, even in local case or if the
288 server prefers streaming
288 289
289 stream: stream raw data uncompressed from repository (fast over 290 stream: stream raw data uncompressed from repository (fast over
290 LAN, slow over WAN) 291 LAN, slow over WAN)
291 292
292 rev: revision to clone up to (implies pull=True) 293 rev: revision to clone up to (implies pull=True)
418 "revision lookup and so doesn't " 419 "revision lookup and so doesn't "
419 "support clone by revision")) 420 "support clone by revision"))
420 revs = [srcpeer.lookup(r) for r in rev] 421 revs = [srcpeer.lookup(r) for r in rev]
421 checkout = revs[0] 422 checkout = revs[0]
422 if destpeer.local(): 423 if destpeer.local():
424 if not stream:
425 if pull:
426 stream = False
427 else:
428 stream = None
423 destpeer.local().clone(srcpeer, heads=revs, stream=stream) 429 destpeer.local().clone(srcpeer, heads=revs, stream=stream)
424 elif srcrepo: 430 elif srcrepo:
425 exchange.push(srcrepo, destpeer, revs=revs, 431 exchange.push(srcrepo, destpeer, revs=revs,
426 bookmarks=srcrepo._bookmarks.keys()) 432 bookmarks=srcrepo._bookmarks.keys())
427 else: 433 else: