Martin Geisler <mg@aragost.com> [Tue, 26 Apr 2011 13:13:35 +0200] rev 14016
merge with stable
Martin Geisler <mg@aragost.com> [Tue, 26 Apr 2011 12:56:56 +0200] rev 14015
merge default heads
Martin Geisler <mg@aragost.com> [Tue, 26 Apr 2011 12:55:26 +0200] rev 14014
commit: improve --date help text
Patrick Mezard <pmezard@gmail.com> [Mon, 25 Apr 2011 21:20:44 +0200] rev 14013
merge with stable
Patrick Mezard <pmezard@gmail.com> [Mon, 25 Apr 2011 21:11:28 +0200] rev 14012
test-transplant: fix missing file addition
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