Augie Fackler <augie@google.com> [Fri, 23 Jan 2015 15:48:18 -0500] rev 23946
parsers: don't leak a tuple in pack_dirstate
Spotted with cpychecker.
Augie Fackler <augie@google.com> [Fri, 23 Jan 2015 15:41:46 -0500] rev 23945
parsers.c: fix a memory leak in index_commonancestorsheads
Spotted with cpychecker.
Augie Fackler <augie@google.com> [Fri, 23 Jan 2015 15:33:27 -0500] rev 23944
parsers: avoid leaking obj in index_ancestors
PySequence_GetItem returns a new reference. Found with cpychecker.
Augie Fackler <augie@google.com> [Fri, 23 Jan 2015 15:30:21 -0500] rev 23943
parsers: don't leak references to sys et al in check_python_version
Found with cpychecker.
Augie Fackler <augie@google.com> [Fri, 23 Jan 2015 15:19:04 -0500] rev 23942
parsers: fix leak of err when asciilower hits a unicode decode error
This is one of many errors detected in parsers.c by cpychecker[1]. I
haven't gone through all of them yet.
1: https://gcc-python-plugin.readthedocs.org/en/latest/index.html
Mads Kiilerich <madski@unity3d.com> [Fri, 23 Jan 2015 18:41:37 +0100] rev 23941
largefiles: use 'default' path for pulling largefiles, not 'default-push'
The put parameter has been unused since day 0.
Mads Kiilerich <madski@unity3d.com> [Fri, 23 Jan 2015 06:28:28 +0100] rev 23940
osx: patch .pax.gz files in pkg bundles so they extract as root (
issue4081)
The packages has to be installed by root but they would be installed
insecurely, owned by the uid of the unprivileged user that made the package.
The local user with that uid could thus write to /usr/local/bin/hg .
bdist_mpkg calls out to pax to create the package, but pax do apparently not
have the power to control what it is writing.
Instead, patch the pax files and set their uid fields to 0 before they are
wrapped in a dmg.
Eric Sumner <ericsumner@fb.com> [Wed, 21 Jan 2015 15:54:52 -0800] rev 23939
repair._bundle: fix traceback for bad config value
On IRC, rom1dep reported a traceback[1] from setting
experimental.strip-bundle2-version to True. This diff catches
unexpected values and falls back to the non-experimental bundle1
implementation after issuing a warning.
[1] http://gist.tamytro.org/_admin/gists/qXcdQLwtApgy6e3NwWgl
Mathias De Maré <mathias.demare@gmail.com> [Wed, 21 Jan 2015 21:47:27 +0100] rev 23938
subrepo: correctly add newline for git subrepo diffs
Previously, git subrepo diffs did not have a newline at the end.
This caused multiple subrepo diffs to be joined on the same line.
Additionally, the command prompt after the diff still contained
a part of the diff.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 22 Jan 2015 00:10:26 +0900] rev 23937
tests: discard useless "(glob)" in "reverting subrepo" lines
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 22 Jan 2015 00:10:26 +0900] rev 23936
check-code.py: avoid warning against "reverting subrepo ..." lines
Before this patch, "reverting subrepo subrepo/path" lines in *.t test
files require "(glob)", because such lines are recognized as
"reverting path/to/managed/file" by "check-code.py".
On the other hand, "(glob)" for such "reverting ..." line is
recognized as useless by "runt-tests.py", because subrepo paths shown
in such lines are always normalized by "util.pconvert". And this
causes "no result code from test" warning.
As a preparation for discarding "(glob)" from such lines in subsequent
patch, this patch avoids warning against them, by adding negative
lookahead assertion "(?!subrepo )" to the regexp.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 22 Jan 2015 00:07:06 +0900] rev 23935
run-tests.py: inherit --pure option from outer run-tests.py execution
Before this patch, "test-run-tests.t" doesn't test "run-tests.py" with
"--pure", even if outer "run-tests.py" is executed with it.
This patch uses not "HG_RUN_TESTS_PURE" but "HGTEST_RUN_TESTS_PURE",
because "HG_" prefixed environments are forcibly dropped in "_getenv()".
This is also useful to run "run-tests.py" successfully by
"run-tests.py --pure" on Windows without any compilation tools (like
VisualStudio).
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 22 Jan 2015 00:07:06 +0900] rev 23934
hg.bat: return exit code explicitly for indirect invocation
When "hg.bat" is invoked via interactive shell "cmd.exe" on Windows,
it can store own exit code into ERRORLEVEL correctly, regardless of
explicit "exit" statement in it: "cmd.exe" seems to hold ERRORLEVEL
updated by the last command in the batch file (= "python hg", in
"hg.bat" case).
On the other hand, "hg.bat" is invoked indirectly via
"subprocess.Popen" (e.g. shell alias, hooks, hgclient and so on), the
parent process always receives exit code 0 from spawned "hg.bat":
batch files on Windows seem not to be really spawned like as shell
scripts on UNIX, but to be executed in the "cmd.exe" process.
This patch returns exit code explicitly for indirect invocation.
"/b" should be specified for "exit" to prevent "cmd.exe" from being
terminated when "hg.bat" is invoked interactively from it.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 22 Jan 2015 00:03:58 +0900] rev 23933
run-tests.py: execute hghave with same env vars as ones for actual tests
Before this patch, "run-tests.py" executes "hghave" process without
any modifications for environment variables, even though actual tests
are executed with LC_ALL, LANG and LANGUAGE explicitly assigned "C".
When "run-tests.py" is executed:
- with non-"C" locale environment variables on any platforms, or
- without any explicit locale environment setting on Windows
(only for "outer-repo" feature using "hg root")
external commands indirectly executed by "hghave" may show translated
messages.
This causes incorrect "hghave" result and skipping tests, because some
regexp matching of "hghave" expect external commands to show
un-translated messages.
To prevent external commands from showing translated messages, this
patch makes "run-tests.py" execute "hghave" with same environment
variables as ones for actual tests.
This patch doesn't make "hghave" execute external commands forcibly
with LC_ALL, LANG and LANGUAGE explicitly assigned "C", because
changing "run-tests.py" is cheaper than changing "hghave":
- "os.popen" should be replaced by "subprocess.Popen" or so, and
- setting up environment variables should be newly added
Mads Kiilerich <madski@unity3d.com> [Wed, 21 Jan 2015 05:04:48 +0100] rev 23932
osx: use bdist_mpkg.script_bdist_mpkg module instead of bdist_mpkg command
It seems like a default installation of bdist_mpkg makes it available as
Python module, but the corresponding executable is placed in a location like
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/bin which is
not in $PATH and thus not directly available. 'make osx' would thus fail.
Instead, skip the bdist_mpkg executable and invoke it as a Python module. That
works out of the box here.
Mads Kiilerich <madski@unity3d.com> [Wed, 21 Jan 2015 05:04:46 +0100] rev 23931
osx: don't launch installer after building it with bdist_mpkg
bdist_mpkg do for some reason default to use the parameter --show ("Open with
Installer.app after building") if no parameters are specified. We do not like
that.
All the important parameters to bdist_mpkg are already specified in setup.py
and we don't have any to specify in the Makefile.
Instead, specify the parameter '--' which do no harm but will disable the
default opening of the installer. This makes it possible to build packages
"silently".