Comments
Patch
@@ -76,11 +76,10 @@ def push(repo, remote, force=False, revs
# unbundle assumes local user cannot lock remote repo (new ssh
# servers, http servers).
if not pushop.remote.canpush():
raise util.Abort(_("destination does not support push"))
- unfi = pushop.repo.unfiltered()
# get local lock as we might write phase data
locallock = None
try:
locallock = pushop.repo.lock()
pushop.locallocked = True
@@ -98,21 +97,11 @@ def push(repo, remote, force=False, revs
lock = None
unbundle = pushop.remote.capable('unbundle')
if not unbundle:
lock = pushop.remote.lock()
try:
- # discovery
- fci = discovery.findcommonincoming
- commoninc = fci(unfi, pushop.remote, force=pushop.force)
- common, inc, remoteheads = commoninc
- fco = discovery.findcommonoutgoing
- outgoing = fco(unfi, pushop.remote, onlyheads=pushop.revs,
- commoninc=commoninc, force=pushop.force)
- pushop.outgoing = outgoing
- pushop.remoteheads = remoteheads
- pushop.incoming = inc
-
+ _pushdiscovery(pushop)
if _pushcheckoutgoing(pushop):
_pushchangeset(pushop)
_pushsyncphase(pushop)
_pushobsolete(pushop)
finally:
@@ -123,10 +112,23 @@ def push(repo, remote, force=False, revs
locallock.release()
_pushbookmark(pushop)
return pushop.ret
+def _pushdiscovery(pushop):
+ # discovery
+ unfi = pushop.repo.unfiltered()
+ fci = discovery.findcommonincoming
+ commoninc = fci(unfi, pushop.remote, force=pushop.force)
+ common, inc, remoteheads = commoninc
+ fco = discovery.findcommonoutgoing
+ outgoing = fco(unfi, pushop.remote, onlyheads=pushop.revs,
+ commoninc=commoninc, force=pushop.force)
+ pushop.outgoing = outgoing
+ pushop.remoteheads = remoteheads
+ pushop.incoming = inc
+
def _pushcheckoutgoing(pushop):
outgoing = pushop.outgoing
unfi = pushop.repo.unfiltered()
if not outgoing.missing:
# nothing to push