@@ -15,6 +15,7 @@ import changelog
import bookmarks
import encoding
import lock as lockmod
+import hg
def parsealiases(cmd):
return cmd.lstrip("^").split("|")
@@ -2960,3 +2961,19 @@ def clearunfinished(repo):
for f, clearable, allowcommit, msg, hint in unfinishedstates:
if clearable and repo.vfs.exists(f):
util.unlink(repo.join(f))
+
+def pushdest(ui, repo, dest, opts):
+ dest = ui.expandpath(dest or 'default-push', dest or 'default')
+ dest, branches = hg.parseurl(dest, opts.get('branch'))
+ ui.status(_('pushing to %s\n') % util.hidepassword(dest))
+ revs, checkout = hg.addbranchrevs(repo, repo, branches, opts.get('rev'))
+ try:
+ other = hg.peer(repo, opts, dest)
+ except error.RepoError:
+ if dest == "default-push":
+ raise util.Abort(_("default repository not configured!"),
+ hint=_('see the "path" section in "hg help config"'))
+ else:
+ raise
+
+ return (dest, branches, revs, other)
@@ -5083,18 +5083,7 @@ def push(ui, repo, dest=None, **opts):
# this lets simultaneous -r, -b options continue working
opts.setdefault('rev', []).append("null")
- dest = ui.expandpath(dest or 'default-push', dest or 'default')
- dest, branches = hg.parseurl(dest, opts.get('branch'))
- ui.status(_('pushing to %s\n') % util.hidepassword(dest))
- revs, checkout = hg.addbranchrevs(repo, repo, branches, opts.get('rev'))
- try:
- other = hg.peer(repo, opts, dest)
- except error.RepoError:
- if dest == "default-push":
- raise util.Abort(_("default repository not configured!"),
- hint=_('see the "path" section in "hg help config"'))
- else:
- raise
+ dest, branches, revs, other = cmdutil.pushdest(ui, repo, dest, opts)
if revs:
revs = [repo.lookup(r) for r in scmutil.revrange(repo, revs)]