jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1328641?usp=email )
Change subject: version: Count Git revisions directly
......................................................................
version: Count Git revisions directly
Use git rev-list --count instead of capturing every reachable commit hash.
The version string remains unchanged.
Subprocess output and Python allocations no longer grow with repository history.
Change-Id: Ic217ba823c3074a736ee38ff37926e6ed8cfe4de
---
M pywikibot/version.py
1 file changed, 3 insertions(+), 3 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/version.py b/pywikibot/version.py
index 8d4e272..486c706 100644
--- a/pywikibot/version.py
+++ b/pywikibot/version.py
@@ -167,11 +167,11 @@
info = info.decode(config.console_encoding).split('|')
date = info[0][:-6]
date = time.strptime(date.strip('"'), '%Y-%m-%d %H:%M:%S')
- dp = subprocess.Popen([cmd, 'rev-list', 'HEAD'],
+ dp = subprocess.Popen([cmd, 'rev-list', '--count', 'HEAD'],
cwd=_program_dir,
stdout=subprocess.PIPE)
- rev, stderr = dp.communicate()
- rev = f'g{len(rev.splitlines())}'
+ rev, _ = dp.communicate()
+ rev = f'g{int(rev)}'
hsh = info[3] # also stored in '.git/refs/heads/master'
if (not date or not tag or not rev) and not path:
raise VersionParseError
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1328641?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.wikimedia.org/r/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Ic217ba823c3074a736ee38ff37926e6ed8cfe4de
Gerrit-Change-Number: 1328641
Gerrit-PatchSet: 2
Gerrit-Owner: Mahveotm <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]