Chris Jerdonek <chris.jerdonek@gmail.com> [Tue, 26 Nov 2013 16:14:22 -0800] rev 20109
parse_index2: fix crash on bad argument type (issue4110)
Passing a non-string to parsers.parse_index2() causes Mercurial to crash
instead of raising a TypeError (found on Mac OS X 10.8.5, Python 2.7.6):
import mercurial.parsers as parsers
parsers.parse_index2(0, 0)
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 parsers.so 0x000000010e071c59 _index_clearcaches + 73 (parsers.c:644)
1 parsers.so 0x000000010e06f2d5 index_dealloc + 21 (parsers.c:1767)
2 parsers.so 0x000000010e074e3b parse_index2 + 347 (parsers.c:1891)
3 org.python.python 0x000000010dda8b17 PyEval_EvalFrameEx + 9911
This happens because when arguments of the wrong type are passed to
parsers.parse_index2(), indexType's initialization function index_init() in
parsers.c leaves the indexObject instance in a state that indexType's
destructor function index_dealloc() cannot handle.
This patch moves enough of the indexObject initialization code inside
index_init() from after the argument validation code to before it.
This way, when bad arguments are passed to index_init(), the destructor
doesn't crash and the existing code to raise a TypeError works. This
patch also adds a test to check that a TypeError is raised.
Matt Mackall <mpm@selenic.com> [Mon, 25 Nov 2013 16:15:44 -0600] rev 20108
merge with stable
Sean Farley <sean.michael.farley@gmail.com> [Wed, 06 Nov 2013 19:01:14 -0600] rev 20107
bookmarks: consider successor changesets when moving bookmark (issue4015)
Previously, this required -f because we didn't consider obsolete changesets
(and their children ... or successors of those children, etc.). We now use
obsolete.foreground to calculate acceptable changesets when advancing the
bookmark.
Test coverage has been added.
Simon Heimberg <simohe@besonet.ch> [Wed, 20 Nov 2013 22:03:15 +0100] rev 20106
util: url keeps backslash in paths
Backslashes (\) in paths were encoded to %C5 when converting from url to
string. This does not look nice for windows paths. And it introduces many
problems when running tests on windows.
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 19:55:38 -0500] rev 20105
tests: deal with new gits sending status messages to stderr
git-1.8.4.2 will send messages like
Cloning into 'X'...
done.
to stderr.
Mute stderr.
Matt Mackall <mpm@selenic.com> [Mon, 25 Nov 2013 13:50:36 -0600] rev 20104
subrepo: sanitize non-hg subrepos