D7004: import-checker: allow symbol imports from mercurial.pycompat

indygreg (Gregory Szorc) phabricator at mercurial-scm.org
Sun Oct 6 21:22:42 UTC 2019


indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  Currently, the source transformer inserts
  `from mercurial.pycompat import delattr, getattr, hasattr, setattr, open, unicode`
  to the top of every file. As part of getting rid of the source transformer,
  we'll need to have source code call these wrappers directly. Rather than
  rewrite all call sites to call pycompat.*, I think it makes sense to import
  needed symbols via explicit imports. That requires loosening the import checker
  to allow this.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D7004

AFFECTED FILES
  contrib/import-checker.py

CHANGE DETAILS

diff --git a/contrib/import-checker.py b/contrib/import-checker.py
--- a/contrib/import-checker.py
+++ b/contrib/import-checker.py
@@ -30,6 +30,7 @@
     'mercurial.i18n',
     'mercurial.interfaces',
     'mercurial.node',
+    'mercurial.pycompat',
     # for revlog to re-export constant to extensions
     'mercurial.revlogutils.constants',
     'mercurial.revlogutils.flagutil',



To: indygreg, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list