# HG changeset patch # User Mads Kiilerich # Date 1583514132 -3600 # Node ID 9ddb4bd5239182ef0cc24afc1dfdf6d698effb2b # Parent b10adac1ab7cd93f4a035bb5847ee6d1b7701c00 hg: set HGPLAIN globally to minimize potential impact from reading hgrc configuration when creating ui See `hg help scripting` for HGPLAIN description ... but Kallithea will invoke Mercurial internals directly, so HGPLAIN shouldn't really impact anything. diff -r b10adac1ab7c -r 9ddb4bd52391 kallithea/lib/utils.py --- a/kallithea/lib/utils.py Fri Mar 06 16:58:47 2020 +0100 +++ b/kallithea/lib/utils.py Fri Mar 06 18:02:12 2020 +0100 @@ -371,6 +371,7 @@ else: log.debug('hgrc file is not present at %s, skipping...', hgrc_path) + assert baseui.plain() # set by hgcompat.monkey_do (invoked from import of vcs.backends.hg) to minimize potential impact of loading config files return baseui diff -r b10adac1ab7c -r 9ddb4bd52391 kallithea/lib/vcs/utils/hgcompat.py --- a/kallithea/lib/vcs/utils/hgcompat.py Fri Mar 06 16:58:47 2020 +0100 +++ b/kallithea/lib/vcs/utils/hgcompat.py Fri Mar 06 18:02:12 2020 +0100 @@ -2,6 +2,7 @@ Mercurial libs compatibility """ +import mercurial.encoding import mercurial.localrepo @@ -11,3 +12,6 @@ mercurial.localrepo.localrepository._lfstatuswriters = [lambda *msg, **opts: None] # 3.5 7699d3212994 added the invariant that repo.lfstatus must exist before hitting overridearchive mercurial.localrepo.localrepository.lfstatus = False + + # Minimize potential impact from custom configuration + mercurial.encoding.environ[b'HGPLAIN'] = b'1'