##// END OF EJS Templates
wix: more robust normalization of RC version components...
wix: more robust normalization of RC version components MSI has strict version requirements where the format is `A.B.C[.D]` and all fields must be numeric (https://docs.microsoft.com/en-us/windows/win32/msi/productversion?redirectedfrom=MSDN). Only the first 3 are used by the installer itself. Mercurial's version strings can have `rcN` and an optional `+<commit>-<date>` fragment at the end. This commit teaches the MSI version normalization to handle both of these more robustly. Before, we would throw away the `.rcN` component completely. e.g. `5.3rc1` would get normalized to `5.3.0`. And worse, `5.3rc0+5-abcdef` would get normalized to `5.3.5`. After this commit, presence of an `.rcN` provides the value for a 4th field. e.g. `5.3rc1` -> `5.3.0.1`. In addition, the commit count from the `+` suffix gets normalized into the 4th version component, but only if the original version string didn't have a 4th version component or if no `rcN` is present. e.g. `5.3+5-abcdef` is `5.3.0.5`. Differential Revision: https://phab.mercurial-scm.org/D8003

File last commit:

r43346:2372284d default
r44632:8d653abe stable
Show More
memory.py
37 lines | 1.0 KiB | text/x-python | PythonLexer
Martin Geisler
contrib: helper extension to track memory usage
r10017 # memory.py - track memory usage
#
# Copyright 2009 Matt Mackall <mpm@selenic.com> and others
#
# This software may be used and distributed according to the terms of the
Matt Mackall
Merge with stable
r10264 # GNU General Public License version 2 or any later version.
Martin Geisler
contrib: helper extension to track memory usage
r10017
'''helper extension to measure memory usage
Reads current and peak memory usage from ``/proc/self/status`` and
prints it to ``stderr`` on exit.
'''
Pulkit Goyal
contrib: make memory.py use absolute_import
r28510 from __future__ import absolute_import
Martin Geisler
contrib: helper extension to track memory usage
r10017
Augie Fackler
formatting: blacken the codebase...
r43346
Martin Geisler
contrib: helper extension to track memory usage
r10017 def memusage(ui):
"""Report memory usage of the current process."""
result = {'peak': 0, 'rss': 0}
Bryan O'Sullivan
with: use context manager for file I/O in memusage
r27795 with open('/proc/self/status', 'r') as status:
Martin Geisler
contrib: helper extension to track memory usage
r10017 # This will only work on systems with a /proc file system
# (like Linux).
for line in status:
parts = line.split()
key = parts[0][2:-1].lower()
if key in result:
result[key] = int(parts[1])
Augie Fackler
formatting: blacken the codebase...
r43346 ui.write_err(
", ".join(
["%s: %.1f MiB" % (k, v / 1024.0) for k, v in result.iteritems()]
)
+ "\n"
)
Martin Geisler
contrib: helper extension to track memory usage
r10017
def extsetup(ui):
Bryan O'Sullivan
atexit: switch to home-grown implementation
r31958 ui.atexit(memusage, ui)