Steven Brown <StevenGBrown@gmail.com> [Mon, 25 Apr 2011 18:00:30 +0800] rev 14011
tests: add script to disable a selected wire protocol capability
This can be used to test that the client and server both fall back to the
previous wire protocol when the capability is not supported.
It is currently used by test-push-http.t and I plan to use it for the HTTP
long argument support tests.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 25 Apr 2011 14:03:12 +0200] rev 14010
mq: prevent traceback when qfinish patches not in series.
When mq status entry referencing a patches that is not in series `hg qfinish
-a` used to issue a traceback. This states is inconsistent but might happen
regularly when people misuse hg up -mq.
This changeset prevent hg from crashing. The faulty entry is finished anyway and
a warning is issued.
Idan Kamara <idankk86@gmail.com> [Mon, 25 Apr 2011 13:03:26 +0300] rev 14009
check-code: separate warnings to avoid repetitive str.startswith
Greg Ward <greg@gerg.ca> [Sun, 24 Apr 2011 17:30:50 -0400] rev 14008
atomictempfile: rewrite docstring to clarify rename() vs. close().
Greg Ward <greg@gerg.ca> [Sun, 24 Apr 2011 19:25:10 -0400] rev 14007
atomictempfile: avoid infinite recursion in __del__().
The problem is that a programmer using atomictempfile directly can
make an innocent everyday mistake -- not enough args to the
constructor -- which escalates badly. You would expect a simple
TypeError crash in that case, but you actually get an infinite
recursion that is surprisingly difficult to kill: it happens between
__del__() and __getattr__(), and Python does not handle infinite
recursion from __del__() well.
The fix is to not implement __getattr__(), but instead assign instance
attributes for the methods we wish to delegate to the builtin file
type: write() and fileno(). I've audited mercurial.* and hgext.* and
found no users of atomictempfile using methods other than write() and
rename(). I audited third-party extensions and found one (snap)
passing an atomictempfile to util.fstat(), so I also threw in
fileno().
The last time I submitted a similar patch, Matt proposed that we make
atomictempfile a subclass of file instead of wrapping it. Rejected on
grounds of unnecessary complexity: for one thing, it would make the
Windows implementation of posixfile quite a bit more complex. It would
have to become a subclass of file rather than a simple function -- but
since it's written in C, this is non-obvious and non-trivial.
Furthermore, there's nothing wrong with wrapping objects and
delegating methods: it's a well-established pattern that works just
fine in many cases. Subclassing is not the answer to all of life's
problems.
Patrick Mezard <pmezard@gmail.com> [Mon, 25 Apr 2011 18:42:31 +0200] rev 14006
run-tests: display diff before prompting with --interactive
Idan Kamara <idankk86@gmail.com> [Sat, 23 Apr 2011 00:52:21 +0300] rev 14005
check-code: warn about naked except clauses
Idan Kamara <idankk86@gmail.com> [Sat, 23 Apr 2011 00:51:25 +0300] rev 14004
eliminate various naked except clauses
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 17:52:46 -0500] rev 14003
run-tests: fix some missing i/o locks
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 16:46:37 -0500] rev 14002
run-tests: add a lock for console I/O
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 16:42:15 -0500] rev 14001
run-tests: switch timeout handling from alarm to helper thread
This should be slightly more portable than signals and be compatible
with threaded dispatch.
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 16:42:11 -0500] rev 14000
run-tests: add locking on results struct
Patrick Mezard <pmezard@gmail.com> [Sun, 24 Apr 2011 23:33:48 +0200] rev 13999
run-tests: fix --interactive (after 994ad067ac6e)
- Do not prompt if there is no .err file
- Fix source and target paths
Patrick Mezard <pmezard@gmail.com> [Sun, 24 Apr 2011 23:06:19 +0200] rev 13998
color: code simplification
Patrick Mezard <pmezard@gmail.com> [Sun, 24 Apr 2011 23:06:18 +0200] rev 13997
test-status-color: fix terminfo code compatibility problem
On a linux host in xterm mode, 'none' is translated to:
\x1b[m\x1b(B
While it is the following on osx:
\x1b(B\x1b[m
Take advantage of the new color.color.X option to force it to a common value.