# HG changeset patch # User Marcin Kuzminski # Date 2017-03-16 14:03:26 # Node ID d21df11cf1cc2b865892cd9354f2065ffcd6a6dc # Parent f5cbb02326427fc9aa63c39f3ff97c16ab56caed mercurial: implemented verify command support. diff --git a/vcsserver/hg.py b/vcsserver/hg.py --- a/vcsserver/hg.py +++ b/vcsserver/hg.py @@ -25,6 +25,7 @@ from hgext import largefiles, rebase from hgext.strip import strip as hgext_strip from mercurial import commands from mercurial import unionrepo +from mercurial import verify from vcsserver import exceptions from vcsserver.base import RepoFactory, obfuscate_qs, raise_from_original @@ -586,6 +587,21 @@ class HgRemote(object): repo.baseui, repo, ctx.node(), update=update, backup=backup) @reraise_safe_exceptions + def verify(self, wire,): + repo = self._factory.repo(wire) + baseui = self._factory._create_config(wire['config']) + baseui.setconfig('ui', 'quiet', 'false') + output = io.BytesIO() + + def write(data, **unused_kwargs): + output.write(data) + baseui.write = write + + repo.ui = baseui + verify.verify(repo) + return output.getvalue() + + @reraise_safe_exceptions def tag(self, wire, name, revision, message, local, user, tag_time, tag_timezone): repo = self._factory.repo(wire)