diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py --- a/mercurial/debugcommands.py +++ b/mercurial/debugcommands.py @@ -1693,6 +1693,25 @@ ui.write('\n'.join(repo.pathto(p, cwd) for p in sorted(files))) ui.write('\n') +@command('debugpeer', [], _('PATH'), norepo=True) +def debugpeer(ui, path): + """establish a connection to a peer repository""" + # Always enable peer request logging. Requires --debug to display + # though. + overrides = { + ('devel', 'debug.peer-request'): True, + } + + with ui.configoverride(overrides): + peer = hg.peer(ui, {}, path) + + local = peer.local() is not None + canpush = peer.canpush() + + ui.write(_('url: %s\n') % peer.url()) + ui.write(_('local: %s\n') % (_('yes') if local else _('no'))) + ui.write(_('pushable: %s\n') % (_('yes') if canpush else _('no'))) + @command('debugpickmergetool', [('r', 'rev', '', _('check for files in this revision'), _('REV')), ('', 'changedelete', None, _('emulate merging change and delete')), diff --git a/tests/test-completion.t b/tests/test-completion.t --- a/tests/test-completion.t +++ b/tests/test-completion.t @@ -102,6 +102,7 @@ debugnamecomplete debugobsolete debugpathcomplete + debugpeer debugpickmergetool debugpushkey debugpvec @@ -281,6 +282,7 @@ debugnamecomplete: debugobsolete: flags, record-parents, rev, exclusive, index, delete, date, user, template debugpathcomplete: full, normal, added, removed + debugpeer: debugpickmergetool: rev, changedelete, include, exclude, tool debugpushkey: debugpvec: diff --git a/tests/test-debugcommands.t b/tests/test-debugcommands.t --- a/tests/test-debugcommands.t +++ b/tests/test-debugcommands.t @@ -381,3 +381,24 @@ https stream v2 + +Test debugpeer + + $ hg --config ui.ssh="\"$PYTHON\" \"$TESTDIR/dummyssh\"" debugpeer ssh://user@dummy/debugrevlog + url: ssh://user@dummy/debugrevlog + local: no + pushable: yes + + $ hg --config ui.ssh="\"$PYTHON\" \"$TESTDIR/dummyssh\"" --debug debugpeer ssh://user@dummy/debugrevlog + running "*" "*/tests/dummyssh" 'user@dummy' 'hg -R debugrevlog serve --stdio' (glob) + devel-peer-request: hello + sending hello command + devel-peer-request: between + devel-peer-request: pairs: 81 bytes + sending between command + remote: 384 + remote: capabilities: lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch streamreqs=generaldelta,revlogv1 $USUAL_BUNDLE2_CAPS_SERVER$ unbundle=HG10GZ,HG10BZ,HG10UN + remote: 1 + url: ssh://user@dummy/debugrevlog + local: no + pushable: yes diff --git a/tests/test-help.t b/tests/test-help.t --- a/tests/test-help.t +++ b/tests/test-help.t @@ -948,6 +948,7 @@ debugoptEXP (no help text available) debugpathcomplete complete part or all of a tracked path + debugpeer establish a connection to a peer repository debugpickmergetool examine which merge tool is chosen for specified file debugpushkey access the pushkey key/value protocol