Tue, 26 Nov 2013 21:55:21 -0800 Merge
Bryan O'Sullivan <bryano@fb.com> [Tue, 26 Nov 2013 21:55:21 -0800] rev 20111
Merge
Tue, 19 Nov 2013 23:49:11 +0530 mercurial/parsers.c: fix compiler warning
Abhay Kadam <abhaykadam88@gmail.com> [Tue, 19 Nov 2013 23:49:11 +0530] rev 20110
mercurial/parsers.c: fix compiler warning When try to compile on x64 OS X, I get this warning: mercurial/parsers.c:931:27: warning: implicit conversion loses integer precision : 'long' to 'int' [-Wshorten-64-to-32] ? 4 : self->raw_length / 2; The patch verifies if value of self->raw_length falls bellow INT_MAX; if not, it raises the ValueError exception. If value of self->raw_length is greater than 4, it's casted to int type, to eliminate the warning.
Tue, 26 Nov 2013 16:14:22 -0800 parse_index2: fix crash on bad argument type (issue4110) stable
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.
Mon, 25 Nov 2013 16:15:44 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 25 Nov 2013 16:15:44 -0600] rev 20108
merge with stable
Wed, 06 Nov 2013 19:01:14 -0600 bookmarks: consider successor changesets when moving bookmark (issue4015) 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.
Wed, 20 Nov 2013 22:03:15 +0100 util: url keeps backslash in paths stable
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.
Sat, 16 Nov 2013 19:55:38 -0500 tests: deal with new gits sending status messages to stderr stable
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.
Mon, 25 Nov 2013 13:50:36 -0600 subrepo: sanitize non-hg subrepos stable
Matt Mackall <mpm@selenic.com> [Mon, 25 Nov 2013 13:50:36 -0600] rev 20104
subrepo: sanitize non-hg subrepos
Mon, 25 Nov 2013 13:46:46 -0600 shelve: fix bad argument interaction with largefiles (issue4111) stable
Matt Mackall <mpm@selenic.com> [Mon, 25 Nov 2013 13:46:46 -0600] rev 20103
shelve: fix bad argument interaction with largefiles (issue4111)
Mon, 18 Nov 2013 09:09:05 -0800 strip.stripcmd: remove redundant wlock acquire/release
Siddharth Agarwal <sid0@fb.com> [Mon, 18 Nov 2013 09:09:05 -0800] rev 20102
strip.stripcmd: remove redundant wlock acquire/release Now that we acquire and release a wlock in the outer scope, this is redundant.
Mon, 25 Nov 2013 12:18:29 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 25 Nov 2013 12:18:29 -0600] rev 20101
merge with stable
Fri, 15 Nov 2013 18:41:40 -0800 bookmarks: make setcurrent with None an error
Siddharth Agarwal <sid0@fb.com> [Fri, 15 Nov 2013 18:41:40 -0800] rev 20100
bookmarks: make setcurrent with None an error
Fri, 15 Nov 2013 18:31:02 -0800 strip: use bookmarks.unsetcurrent instead of setcurrent with None
Siddharth Agarwal <sid0@fb.com> [Fri, 15 Nov 2013 18:31:02 -0800] rev 20099
strip: use bookmarks.unsetcurrent instead of setcurrent with None
Fri, 15 Nov 2013 18:28:57 -0800 bmstore.write: use unsetcurrent instead of setcurrent with None
Siddharth Agarwal <sid0@fb.com> [Fri, 15 Nov 2013 18:28:57 -0800] rev 20098
bmstore.write: use unsetcurrent instead of setcurrent with None
Fri, 15 Nov 2013 18:06:01 -0800 commands.bookmark: use unsetcurrent instead of setcurrent with None
Siddharth Agarwal <sid0@fb.com> [Fri, 15 Nov 2013 18:06:01 -0800] rev 20097
commands.bookmark: use unsetcurrent instead of setcurrent with None There are currently two different ways we can have no active bookmark: .hg/bookmarks.current being missing and it being an empty file. This patch and upcoming ones make an empty file the only way to represent no active bookmarks. This is the right choice because it matches the state that a new repository without bookmarks will be in.
Mon, 18 Nov 2013 08:57:19 -0800 strip: hold wlock for entire duration stable
Siddharth Agarwal <sid0@fb.com> [Mon, 18 Nov 2013 08:57:19 -0800] rev 20096
strip: hold wlock for entire duration Previously, we'd acquire and release the wlock several times. This meant that other hg processes could come in and change state. Instead of that, retain the wlock for the entire duration of the strip.
Fri, 22 Nov 2013 17:26:58 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 22 Nov 2013 17:26:58 -0600] rev 20095
merge with stable
Sun, 10 Nov 2013 18:51:21 +0100 bisect: report "both good and bad" as such, not as "not directly related" stable
Mads Kiilerich <madski@unity3d.com> [Sun, 10 Nov 2013 18:51:21 +0100] rev 20094
bisect: report "both good and bad" as such, not as "not directly related"
Fri, 08 Nov 2013 11:49:13 +0100 phase: better error message when --force is needed stable
Martin Geisler <martin@geisler.net> [Fri, 08 Nov 2013 11:49:13 +0100] rev 20093
phase: better error message when --force is needed When trying to turn a draft changeset into a secret changeset, I was told: % hg phase -s . cannot move 1 changesets to a more permissive phase, use --force no phases changed That message struck me as being backwards -- the secret phase feels less permissive to me since it restricts the changesets from being pushed. We don't use the word "permissive" elsewhere, 'hg help phase' talks about "lower phases" and "higher phases". I therefore reformulated the error message to be cannot move 1 changesets to a higher phase, use --force That is not perfect either, but more in line with the help text. An alternative could be cannot move phase backwards for 1 changesets, use --force which fits better with the help text for --force.
Fri, 08 Nov 2013 09:48:01 +0100 hgweb: ignore non numeric "revcount" parameter values (issue4091) stable
Isaac Jurado <diptongo@gmail.com> [Fri, 08 Nov 2013 09:48:01 +0100] rev 20092
hgweb: ignore non numeric "revcount" parameter values (issue4091)
Tue, 12 Nov 2013 16:23:52 +0900 lock: take both vfs and lock file path relative to vfs to access via vfs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 12 Nov 2013 16:23:52 +0900] rev 20091
lock: take both vfs and lock file path relative to vfs to access via vfs This patch makes "lock.lock.__init__()" take both vfs and lock file path relative to vfs, instead of absolute path to lock file. This allows lock file to be accessed via vfs.
Tue, 12 Nov 2013 16:23:52 +0900 vfs: add "makelock()" and "readlock()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 12 Nov 2013 16:23:52 +0900] rev 20090
vfs: add "makelock()" and "readlock()"
Tue, 12 Nov 2013 16:23:52 +0900 hg: rewrite "copystore()" with vfs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 12 Nov 2013 16:23:52 +0900] rev 20089
hg: rewrite "copystore()" with vfs This patch rewrites "copystore()" with vfs, because succeeding patch requires "lock.lock()" invocation with vfs. This patch uses 'dstbase + "/lock"' instead of "join()" with both elements even on Windows environment but it should be reasonable, because target files given from "store.copyfiles()" already uses "/" as path separator. "util.copyfiles()" between two vfs-s may have to be rewritten in the future.
Tue, 12 Nov 2013 16:23:52 +0900 localrepo: import "lock" module as "lockmod" for readability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 12 Nov 2013 16:23:52 +0900] rev 20088
localrepo: import "lock" module as "lockmod" for readability Before this patch, "localrepo.py" has many methods defining local variable "lock", even though it imports "lock" module as "lock". This ambiguity decreases readability.
Tue, 12 Nov 2013 16:23:52 +0900 transaction: take journal file path relative to vfs to use file API via vfs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 12 Nov 2013 16:23:52 +0900] rev 20087
transaction: take journal file path relative to vfs to use file API via vfs
Tue, 12 Nov 2013 16:23:52 +0900 vfs: add "chmod()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 12 Nov 2013 16:23:52 +0900] rev 20086
vfs: add "chmod()"
Tue, 12 Nov 2013 16:23:52 +0900 vfs: add "isfile()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 12 Nov 2013 16:23:52 +0900] rev 20085
vfs: add "isfile()"
Tue, 12 Nov 2013 16:23:52 +0900 transaction: unlink target file via vfs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 12 Nov 2013 16:23:52 +0900] rev 20084
transaction: unlink target file via vfs Before this patch, unlink target file is once opened before unlinking, because "opener" before vfs migration doesn't have "unlink()" function. This patch uses "vfs.unlink()" instead of "open()" and "fp.name".
(0) -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 +10000 +30000 tip