changeset 30517:a3ec6db36315

debugcommands: move 'debugdiscovery' in the module And a lot of imports with it.
author Gregory Szorc <gregory.szorc@gmail.com>
date Wed, 17 Aug 2016 20:56:11 -0700
parents ef1353c283e3
children a8b17859684a
files mercurial/commands.py mercurial/debugcommands.py
diffstat 2 files changed, 72 insertions(+), 71 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py	Wed Aug 17 20:43:31 2016 -0700
+++ b/mercurial/commands.py	Wed Aug 17 20:56:11 2016 -0700
@@ -11,7 +11,6 @@
 import errno
 import operator
 import os
-import random
 import re
 import shlex
 import socket
@@ -36,7 +35,6 @@
     changegroup,
     cmdutil,
     copies,
-    dagutil,
     destutil,
     dirstateguard,
     discovery,
@@ -50,7 +48,6 @@
     hbisect,
     help,
     hg,
-    localrepo,
     lock as lockmod,
     merge as mergemod,
     minirst,
@@ -65,13 +62,11 @@
     revset,
     scmutil,
     server,
-    setdiscovery,
     sshserver,
     sslutil,
     streamclone,
     templatekw,
     templater,
-    treediscovery,
     ui as uimod,
     util,
 )
@@ -1865,72 +1860,6 @@
     with repo.wlock(False):
         return cmdutil.copy(ui, repo, pats, opts)
 
-@command('debugdiscovery',
-    [('', 'old', None, _('use old-style discovery')),
-    ('', 'nonheads', None,
-     _('use old-style discovery with non-heads included')),
-    ] + remoteopts,
-    _('[-l REV] [-r REV] [-b BRANCH]... [OTHER]'))
-def debugdiscovery(ui, repo, remoteurl="default", **opts):
-    """runs the changeset discovery protocol in isolation"""
-    remoteurl, branches = hg.parseurl(ui.expandpath(remoteurl),
-                                      opts.get('branch'))
-    remote = hg.peer(repo, opts, remoteurl)
-    ui.status(_('comparing with %s\n') % util.hidepassword(remoteurl))
-
-    # make sure tests are repeatable
-    random.seed(12323)
-
-    def doit(localheads, remoteheads, remote=remote):
-        if opts.get('old'):
-            if localheads:
-                raise error.Abort('cannot use localheads with old style '
-                                 'discovery')
-            if not util.safehasattr(remote, 'branches'):
-                # enable in-client legacy support
-                remote = localrepo.locallegacypeer(remote.local())
-            common, _in, hds = treediscovery.findcommonincoming(repo, remote,
-                                                                force=True)
-            common = set(common)
-            if not opts.get('nonheads'):
-                ui.write(("unpruned common: %s\n") %
-                         " ".join(sorted(short(n) for n in common)))
-                dag = dagutil.revlogdag(repo.changelog)
-                all = dag.ancestorset(dag.internalizeall(common))
-                common = dag.externalizeall(dag.headsetofconnecteds(all))
-        else:
-            common, any, hds = setdiscovery.findcommonheads(ui, repo, remote)
-        common = set(common)
-        rheads = set(hds)
-        lheads = set(repo.heads())
-        ui.write(("common heads: %s\n") %
-                 " ".join(sorted(short(n) for n in common)))
-        if lheads <= common:
-            ui.write(("local is subset\n"))
-        elif rheads <= common:
-            ui.write(("remote is subset\n"))
-
-    serverlogs = opts.get('serverlog')
-    if serverlogs:
-        for filename in serverlogs:
-            with open(filename, 'r') as logfile:
-                line = logfile.readline()
-                while line:
-                    parts = line.strip().split(';')
-                    op = parts[1]
-                    if op == 'cg':
-                        pass
-                    elif op == 'cgss':
-                        doit(parts[2].split(' '), parts[3].split(' '))
-                    elif op == 'unb':
-                        doit(parts[3].split(' '), parts[2].split(' '))
-                    line = logfile.readline()
-    else:
-        remoterevs, _checkout = hg.addbranchrevs(repo, remote, branches,
-                                                 opts.get('remote_head'))
-        localrevs = opts.get('local_head')
-        doit(localrevs, remoterevs)
-
 @command('debugextensions', formatteropts, [], norepo=True)
 def debugextensions(ui, **opts):
     '''show information about active extensions'''
--- a/mercurial/debugcommands.py	Wed Aug 17 20:43:31 2016 -0700
+++ b/mercurial/debugcommands.py	Wed Aug 17 20:56:11 2016 -0700
@@ -8,10 +8,12 @@
 from __future__ import absolute_import
 
 import os
+import random
 
 from .i18n import _
 from .node import (
     hex,
+    short,
 )
 from . import (
     bundle2,
@@ -20,14 +22,18 @@
     commands,
     context,
     dagparser,
+    dagutil,
     error,
     exchange,
     hg,
+    localrepo,
     lock as lockmod,
     revlog,
     scmutil,
+    setdiscovery,
     simplemerge,
     streamclone,
+    treediscovery,
     util,
 )
 
@@ -451,3 +457,69 @@
     if range:
         m = util.matchdate(range)
         ui.write(("match: %s\n") % m(d[0]))
+
+@command('debugdiscovery',
+    [('', 'old', None, _('use old-style discovery')),
+    ('', 'nonheads', None,
+     _('use old-style discovery with non-heads included')),
+    ] + commands.remoteopts,
+    _('[-l REV] [-r REV] [-b BRANCH]... [OTHER]'))
+def debugdiscovery(ui, repo, remoteurl="default", **opts):
+    """runs the changeset discovery protocol in isolation"""
+    remoteurl, branches = hg.parseurl(ui.expandpath(remoteurl),
+                                      opts.get('branch'))
+    remote = hg.peer(repo, opts, remoteurl)
+    ui.status(_('comparing with %s\n') % util.hidepassword(remoteurl))
+
+    # make sure tests are repeatable
+    random.seed(12323)
+
+    def doit(localheads, remoteheads, remote=remote):
+        if opts.get('old'):
+            if localheads:
+                raise error.Abort('cannot use localheads with old style '
+                                 'discovery')
+            if not util.safehasattr(remote, 'branches'):
+                # enable in-client legacy support
+                remote = localrepo.locallegacypeer(remote.local())
+            common, _in, hds = treediscovery.findcommonincoming(repo, remote,
+                                                                force=True)
+            common = set(common)
+            if not opts.get('nonheads'):
+                ui.write(("unpruned common: %s\n") %
+                         " ".join(sorted(short(n) for n in common)))
+                dag = dagutil.revlogdag(repo.changelog)
+                all = dag.ancestorset(dag.internalizeall(common))
+                common = dag.externalizeall(dag.headsetofconnecteds(all))
+        else:
+            common, any, hds = setdiscovery.findcommonheads(ui, repo, remote)
+        common = set(common)
+        rheads = set(hds)
+        lheads = set(repo.heads())
+        ui.write(("common heads: %s\n") %
+                 " ".join(sorted(short(n) for n in common)))
+        if lheads <= common:
+            ui.write(("local is subset\n"))
+        elif rheads <= common:
+            ui.write(("remote is subset\n"))
+
+    serverlogs = opts.get('serverlog')
+    if serverlogs:
+        for filename in serverlogs:
+            with open(filename, 'r') as logfile:
+                line = logfile.readline()
+                while line:
+                    parts = line.strip().split(';')
+                    op = parts[1]
+                    if op == 'cg':
+                        pass
+                    elif op == 'cgss':
+                        doit(parts[2].split(' '), parts[3].split(' '))
+                    elif op == 'unb':
+                        doit(parts[3].split(' '), parts[2].split(' '))
+                    line = logfile.readline()
+    else:
+        remoterevs, _checkout = hg.addbranchrevs(repo, remote, branches,
+                                                 opts.get('remote_head'))
+        localrevs = opts.get('local_head')
+        doit(localrevs, remoterevs)