bpo-27593: Get SCM build info from git instead of hg. (#446)

sys.version and the platform module python_build(),
python_branch(), and python_revision() functions now use
git information rather than hg when building from a repo.

Based on original patches by Brett Cannon and Steve Dower.
This commit is contained in:
Ned Deily 2017-03-04 00:19:55 -05:00 committed by GitHub
parent fc64c351c7
commit 5c4b0d063a
9 changed files with 84 additions and 78 deletions

View file

@ -67,12 +67,12 @@ class PlatformTest(unittest.TestCase):
def setUp(self):
self.save_version = sys.version
self.save_mercurial = sys._mercurial
self.save_git = sys._git
self.save_platform = sys.platform
def tearDown(self):
sys.version = self.save_version
sys._mercurial = self.save_mercurial
sys._git = self.save_git
sys.platform = self.save_platform
def test_sys_version(self):
@ -102,7 +102,7 @@ class PlatformTest(unittest.TestCase):
('CPython', '2.4.3', '', '', 'truncation', '', 'GCC')),
):
# branch and revision are not "parsed", but fetched
# from sys._mercurial. Ignore them
# from sys._git. Ignore them
(name, version, branch, revision, buildno, builddate, compiler) \
= platform._sys_version(input)
self.assertEqual(
@ -149,10 +149,10 @@ class PlatformTest(unittest.TestCase):
sys_versions.items():
sys.version = version_tag
if subversion is None:
if hasattr(sys, "_mercurial"):
del sys._mercurial
if hasattr(sys, "_git"):
del sys._git
else:
sys._mercurial = subversion
sys._git = subversion
if sys_platform is not None:
sys.platform = sys_platform
self.assertEqual(platform.python_implementation(), info[0])