templatekw: use common "rev:node" format as the default of predecessors
I'm not sure if this is better. If we're planning to add a template keyword
that returns obsoleted nodes unavailable in the repo (i.e. they have no valid
revision numbers), we might want to use the current "node"-only format
everywhere.
templatekw: populate all keywords depending on predecessor in map operation
This is what showparents() does. repo[precnode] should never fail since its
validity is tested by closestpredecessors().
templatekw: reference predecessor node id as {node} in map operation
More predecessor-depending values will be populated by the next patch.
highlight: put pygments import inside demandimport.deactivated
I tripped on some weirdness relating to _thread vs threading way down
in a dep of highlight recently. I'm not really sure why I'm only just
seeing this defect now, but experimentally this fixes the problem, and
shouldn't cause any load-time slowness for people until pygments is
actually about to be used since highlight.highlight is still lazily
loaded in the highlight/__init__.py file.
run-tests: explicitly flush test runner output for Windows stability
When hghave testing goes awry, the output order was changing on Windows.
diff --git a/tests/test-run-tests.t b/tests/test-run-tests.t
--- a/tests/test-run-tests.t
+++ b/tests/test-run-tests.t
@@ -920,10 +920,10 @@
> EOF
> done
$ rt -j 2
- ....
+ ....skipped: unknown feature: notarealhghavefeature\r (esc)
+
+
# Ran 5 tests, 0 skipped, 0 warned, 0 failed.
- skipped: unknown feature: notarealhghavefeature
-
$ cd ..
$ rm -rf broken
Since 'skipped: unknown feature: notarealhghavefeature\n\n' is printed to stdout
and the rest to stderr, it seems like maybe stdio isn't line buffered on
Windows. When a program exits, stdout is flushed before stderr[1].
[1] https://blogs.msdn.microsoft.com/oldnewthing/
20060519-09/?p=31133
tinyproxy: explicitly flush logged messages
On Windows, output streams are buffered when redirected to a file, and
TerminateProcess() apparently doesn't trigger a flush. This left
test-http-proxy.t missing part of the last line when it cat'd proxy.log[1].
Flushing stderr is all that is needed (on py27 anyway). I originally flushed
stdout too, but that added additional output to the log:
$ cat proxy.log
+ Accept: $LOCALIP (localhost)\r (esc)
+ Serving HTTP on 0.0.0.0 port 20810 ...\r (esc)
+ connect to localhost:$HGPORT\r (esc)
* - - [*] "GET http://localhost:$HGPORT/?cmd=capabilities HTTP/1.1" - - (glob)
+ bye\r (esc)
+ connect to localhost:$HGPORT\r (esc)
* - - [*] "GET http://localhost:$HGPORT/?cmd=branchmap HTTP/1.1" - - x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob)
+ bye\r (esc)
+ connect to localhost:$HGPORT\r (esc)
* - - [*] "GET http://localhost:$HGPORT/?cmd=stream_out HTTP/1.1" - - x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob)
+ bye\r (esc)
+ connect to localhost:$HGPORT\r (esc)
...
[1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-April/096987.html
help: clarify ancestors() and descendants() include given set (
issue5594)
Also unified "a changeset" to "changesets".