Matt Harbison <matt_harbison@yahoo.com> [Sat, 15 Dec 2018 01:26:18 -0500] rev 40937
py3: ensure the proxied Windows fd doesn't escape by entering context manager
The purpose of the proxy class is to provide the `name` attribute which contains
the file path. But in tests that used a context manager, it still blew up
complaining that 'int' doesn't have a 'startswith' function.
Augie Fackler <augie@google.com> [Thu, 13 Dec 2018 14:44:54 -0500] rev 40936
merge with stable
Yuya Nishihara <yuya@tcha.org> [Wed, 12 Dec 2018 22:45:02 +0900] rev 40935
templatefuncs: specialize "no match" value of search() to allow % operation
If Python had Maybe or Option, the type of the search() result would be
Option<Mapping>, which can be considered as a 0/1 container of a Mapping.
So it makes sense that {search(r'no match pattern', x) % "whatever"} is
mapped to an empty string.
Yuya Nishihara <yuya@tcha.org> [Wed, 12 Dec 2018 22:19:57 +0900] rev 40934
templatefuncs: add regexp search() function that extracts substring
This can be used to extract an issue number from a commit message, for
example:
{search(r'\(issue([0-9]*)\)', desc) % '{1}'}
Georges Racinet <gracinet@anybox.fr> [Fri, 30 Nov 2018 00:44:04 +0100] rev 40933
rust: changed Graph.parents to return [Revision; 2]
This will allow for simple iteration on parent revisions,
such as:
for parent in graph.parents(rev)?.iter().cloned()
This seems to be a zero overhead abstraction once built in
release mode.
Differential Revision: https://phab.mercurial-scm.org/D5415
Georges Racinet <gracinet@anybox.fr> [Tue, 11 Dec 2018 17:31:54 +0100] rev 40932
rust: improved docstring
In the previous wording, rustfmt wanted to cut at the == which is not very
readable in my taste.
Differential Revision: https://phab.mercurial-scm.org/D5414
Anton Shestakov <av6@dwimlabs.net> [Thu, 13 Dec 2018 17:18:57 +0800] rev 40931
revset: move subscript relation functions to its own dict
This will help adding more relation functions in extensions.
We skip short names (that consist of one letter) while raising
UnknownIdentifier because such names cannot be suggested anyway: the similarity
cutoff in dispatch._getsimilar() is currently 0.6.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 13 Dec 2018 00:18:47 -0500] rev 40930
py3: teach run-tests.py to handle exe with spaces when --local isn't specified
This was the reason that no amount of quoting worked in test-hghave.t.
`os.popen()` needed to be swapped out because while the added quoting around
line 3124 worked on py3, it failed on py2. See
38d51371792b. The problem with
`os.system()` was wrongly splitting the command on the space in 'Program Files',
regardless of quoting. It looks like there are a few other instances of
`os.system()` in core code, so presumably those should be replaced?
Georges Racinet <gracinet@anybox.fr> [Tue, 11 Dec 2018 17:13:17 +0100] rev 40929
rust: adapted hg-core tests for iteration over Result
Now AncestorsIterator iters on Result<Revision, GraphError>
Matt Harbison <matt_harbison@yahoo.com> [Tue, 11 Dec 2018 21:57:54 -0500] rev 40928
win32: close the handles associated with a spawned child process
Probably not a big deal because at this point, the call is only used when
spawning a daemonized server. In that case, the parent process goes away first,
so it won't prevent the child from being cleaned up.
Yuya Nishihara <yuya@tcha.org> [Tue, 11 Dec 2018 22:23:39 +0900] rev 40927
rust: remove comment about error handling of AncestorsIterator
To be align with
443eb4bc41af "rust: propagate error of index_get_parents()
properly."
Spotted by Georges Racinet.
Julien Cristau <jcristau@mozilla.com> [Wed, 12 Dec 2018 06:41:19 +0100] rev 40926
test: fix test-http-bad-server with current python 2.7
https://github.com/python/cpython/pull/2825 changed the exception
message for empty http status line.
Differential Revision: https://phab.mercurial-scm.org/D5412