D9462: chgserver: catch RepoError while loading configuration
pulkit (Pulkit Goyal)
phabricator at mercurial-scm.org
Mon Nov 30 09:42:50 UTC 2020
pulkit created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
Recent share safe work introduced functionality to read share source config file
on dispatch. This can result in RepoError while reading config file as the
shared source might not be present.
`test-share.t#safe` was failing with chg earlier because of this.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D9462
AFFECTED FILES
mercurial/chgserver.py
CHANGE DETAILS
diff --git a/mercurial/chgserver.py b/mercurial/chgserver.py
--- a/mercurial/chgserver.py
+++ b/mercurial/chgserver.py
@@ -504,10 +504,21 @@
the instructions.
"""
args = self._readlist()
+ errorraised = False
try:
self.ui, lui = _loadnewui(self.ui, args, self.cdebug)
+ except error.RepoError as inst:
+ # RepoError can be raised while trying to read shared source
+ # configuration
+ self.ui.error(_(b"abort: %s\n") % inst)
+ if inst.hint:
+ self.ui.error(_("(%s)\n") % inst.hint)
+ errorraised = True
except error.Abort as inst:
self.ui.error(inst.format())
+ errorraised = True
+
+ if errorraised:
self.ui.flush()
self.cresult.write(b'exit 255')
return
To: pulkit, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list