mirror of
https://github.com/facebook/sapling.git
synced 2024-10-08 07:49:11 +03:00
9ea4436262
existing clone code uses pull to get changes from remote repo. is very slow, uses lots of memory and cpu. new clone code has server write file data straight to client, client writes file data straight to disk. memory and cpu used are very low, clone is much faster over lan. new client can still clone with pull, can still clone from older servers. new server can still serve older clients.
26 lines
615 B
Python
26 lines
615 B
Python
# remoterepo - remote repositort proxy classes for mercurial
|
|
#
|
|
# Copyright 2005 Matt Mackall <mpm@selenic.com>
|
|
#
|
|
# This software may be used and distributed according to the terms
|
|
# of the GNU General Public License, incorporated herein by reference.
|
|
|
|
import repo
|
|
|
|
class remoterepository(repo.repository):
|
|
def dev(self):
|
|
return -1
|
|
|
|
def local(self):
|
|
return False
|
|
|
|
class remotelock(object):
|
|
def __init__(self, repo):
|
|
self.repo = repo
|
|
def release(self):
|
|
self.repo.unlock()
|
|
self.repo = None
|
|
def __del__(self):
|
|
if self.repo:
|
|
self.release()
|