Comments
Patch
@@ -236,19 +236,28 @@ class pushoperation(object):
' failed!\n') % k)
class pulloperation(object):
- def perform(self, repo, remote, heads=None, force=False):
+ def __init__(self, repo, remote, heads=None, force=False):
+ self.repo = repo
+ self.remote = remote
+ self.heads = heads
+ self.force = force
+
+ def perform(self):
+ repo = self.repo
+ remote = self.remote
+ heads = self.heads
# don't open transaction for nothing or you break future useful
# rollback call
tr = None
trname = 'pull\n' + util.hidepassword(remote.url())
lock = repo.lock()
try:
tmp = discovery.findcommonincoming(repo, remote, heads=heads,
- force=force)
+ force=self.force)
common, fetch, rheads = tmp
if not fetch:
repo.ui.status(_("no changes found\n"))
added = []
result = 0
@@ -1650,12 +1650,12 @@ class localrepository(object):
r.append(l)
return r
def pull(self, remote, heads=None, force=False):
- pull = exchangeutil.pulloperation()
- return pull.perform(self, remote, heads, force)
+ pull = exchangeutil.pulloperation(self, remote, heads, force)
+ return pull.perform()
def checkpush(self, force, revs):
"""Extensions can override this function if additional checks have
to be performed before pushing, or call it if they override push
command.