mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
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:
parent
fc64c351c7
commit
5c4b0d063a
9 changed files with 84 additions and 78 deletions
|
@ -1198,7 +1198,9 @@ def _sys_version(sys_version=None):
|
|||
elif buildtime:
|
||||
builddate = builddate + ' ' + buildtime
|
||||
|
||||
if hasattr(sys, '_mercurial'):
|
||||
if hasattr(sys, '_git'):
|
||||
_, branch, revision = sys._git
|
||||
elif hasattr(sys, '_mercurial'):
|
||||
_, branch, revision = sys._mercurial
|
||||
elif hasattr(sys, 'subversion'):
|
||||
# sys.subversion was added in Python 2.5
|
||||
|
|
|
@ -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])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue