Fri, 22 Nov 2013 19:13:26 +0100 hg: remove outdated comment
Martin Geisler <martin@geisler.net> [Fri, 22 Nov 2013 19:13:26 +0100] rev 20116
hg: remove outdated comment The graphlog functionality has been in core since Mercurial 2.3.
Fri, 22 Nov 2013 17:10:08 +0100 tests: use strip extension instead of mq where it makes sense
Martin Geisler <martin@geisler.net> [Fri, 22 Nov 2013 17:10:08 +0100] rev 20115
tests: use strip extension instead of mq where it makes sense When a test only uses 'hg strip', it no longer needs to load MQ.
Sat, 23 Nov 2013 01:06:20 +0100 tests: fix `hghave root` on windows
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Nov 2013 01:06:20 +0100] rev 20114
tests: fix `hghave root` on windows This lets tests\test-hghave.t pass on windows where geteuid does not exist.
Wed, 20 Nov 2013 12:55:08 +0000 keyword: wlock while setting branch in kwdemo
Christian Ebert <blacktrash@gmx.net> [Wed, 20 Nov 2013 12:55:08 +0000] rev 20113
keyword: wlock while setting branch in kwdemo
Sun, 17 Nov 2013 15:43:46 +0100 tests: add missing glob
Simon Heimberg <simohe@besonet.ch> [Sun, 17 Nov 2013 15:43:46 +0100] rev 20112
tests: add missing glob
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".
Sat, 09 Nov 2013 14:50:58 +0100 relink: abort earlier when on different devices (issue3916)
Simon Heimberg <simohe@besonet.ch> [Sat, 09 Nov 2013 14:50:58 +0100] rev 20083
relink: abort earlier when on different devices (issue3916) Add a first check of the devices before collecting candidate files. This is much quicker when big repos are on different devices. Keep the existing check in prune. It checks for same device of the files. This could probably be different in a special repo store (with symlinks).
Mon, 11 Nov 2013 22:59:26 +0100 localrepo: prevent to copy repo local config, copy baseui instead
Simon Heimberg <simohe@besonet.ch> [Mon, 11 Nov 2013 22:59:26 +0100] rev 20082
localrepo: prevent to copy repo local config, copy baseui instead Copying a repos local configuration to another repo is a bad idea because the 2nd repo gets the configuration of the first. Prevent this by really calling repo.baseui.copy when repo.ui.copy is called. This requires some changes in commandserver which needs to clone repo.ui for rejecting temporary changes. This patch has its roots back in the topic "repo isolation" around f0564402d059 and was suggested by mpm.
Fri, 08 Nov 2013 14:42:09 +0900 doc: show details of command options in pages generated by docutils
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 08 Nov 2013 14:42:09 +0900] rev 20081
doc: show details of command options in pages generated by docutils Before this patch, HTML/man pages generated by docutils don't show details of each command options, whether it should take argument or not for example, even though "hg help" does. This patch shows details of command options as same as "hg help" shows. This patch uses "--option <VALUE[+]>" style instead of "--option <VALUE> [+]" used in output of "hg help", because docutils requires that option argument strings starts with "<" and ends with ">".
Tue, 05 Nov 2013 09:43:26 +0100 Makefile: intermediate steps work with temporary copy of hg.pot
Simon Heimberg <simohe@besonet.ch> [Tue, 05 Nov 2013 09:43:26 +0100] rev 20080
Makefile: intermediate steps work with temporary copy of hg.pot In case of abortion or a failing step, the target file remains untouched instead of being in an intermediate state.
Thu, 21 Nov 2013 15:08:30 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 21 Nov 2013 15:08:30 -0600] rev 20079
merge with stable
Thu, 21 Nov 2013 11:49:31 -0600 help: drop help for branches template keyword
Matt Mackall <mpm@selenic.com> [Thu, 21 Nov 2013 11:49:31 -0600] rev 20078
help: drop help for branches template keyword The {branches} keyword dates to pre-1.0 Mercurial's tag-like branch scheme which allowed changesets to be on multiple branches. This is the last visible vestige of that scheme, users should instead be using {branch}, possibly with if().
Thu, 21 Nov 2013 12:47:03 -0800 test-command-template.t: fix failure due to trailing whitespace
Siddharth Agarwal <sid0@fb.com> [Thu, 21 Nov 2013 12:47:03 -0800] rev 20077
test-command-template.t: fix failure due to trailing whitespace
Thu, 21 Nov 2013 11:30:52 -0600 templater: makes branches work correctly with stringify (issue4108) stable
Matt Mackall <mpm@selenic.com> [Thu, 21 Nov 2013 11:30:52 -0600] rev 20076
templater: makes branches work correctly with stringify (issue4108)
Mon, 11 Nov 2013 16:35:12 -0800 manifest: increase lrucache from 3 to 4
Durham Goode <durham@fb.com> [Mon, 11 Nov 2013 16:35:12 -0800] rev 20075
manifest: increase lrucache from 3 to 4 During a commit amend there are 4 manifests being handled: - original commit - temporary commit - amended commit - merge base This causes a manifest cache miss which hurts perf on large repos. On a large repo, this fix causes amend to go from 6 seconds to 5.5 seconds.
Mon, 11 Nov 2013 16:42:49 -0800 strip: add faster revlog strip computation
Durham Goode <durham@fb.com> [Mon, 11 Nov 2013 16:42:49 -0800] rev 20074
strip: add faster revlog strip computation The previous revlog strip computation would walk every rev in the revlog, from the bottom to the top. Since we're usually stripping only the top few revs of the revlog, this was needlessly expensive on large repos. The new algorithm walks the exact number of revs that will be stripped, thus making the operation not dependent on the number of revs in the repo. This makes amend on a large repo go from 8.7 seconds to 6 seconds.
Mon, 11 Nov 2013 16:40:02 -0800 revlog: return lazy set from findcommonmissing
Durham Goode <durham@fb.com> [Mon, 11 Nov 2013 16:40:02 -0800] rev 20073
revlog: return lazy set from findcommonmissing When computing the commonmissing, it greedily computes the entire set immediately. On a large repo where the majority of history is irrelevant, this causes a significant slow down. Replacing it with a lazy set makes amend go from 11 seconds to 8.7 seconds.
Tue, 19 Nov 2013 11:29:56 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 19 Nov 2013 11:29:56 -0500] rev 20072
merge with stable
Sun, 17 Nov 2013 15:11:09 -0800 histedit: hold wlock and lock while in progress stable
Siddharth Agarwal <sid0@fb.com> [Sun, 17 Nov 2013 15:11:09 -0800] rev 20071
histedit: hold wlock and lock while in progress Currently, histedit acquires and releases lock and wlock several times during its run. This isn't great because it allows other hg processes to come in and change state. With this fix, lock and wlock are acquired and released exactly once. The change to test-histedit-drop.t is a minor implementation one -- the cache is still correctly invalidated, but it just happens a little later and only gets printed out because of the unrelated --debug flag.
Mon, 18 Nov 2013 15:43:45 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Mon, 18 Nov 2013 15:43:45 -0500] rev 20070
merge with i18n
Mon, 18 Nov 2013 13:29:05 -0200 i18n-pt_BR: fix typos in notify docs stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 18 Nov 2013 13:29:05 -0200] rev 20069
i18n-pt_BR: fix typos in notify docs
Sun, 17 Nov 2013 19:52:49 -0200 i18n-pt_BR: synchronized with 06e118c097ff stable
Wagner Bruna <wbruna@yahoo.com> [Sun, 17 Nov 2013 19:52:49 -0200] rev 20068
i18n-pt_BR: synchronized with 06e118c097ff
Mon, 18 Nov 2013 15:37:09 -0500 templater: only recursively evaluate string literals as templates (issue4103) stable
Matt Mackall <mpm@selenic.com> [Mon, 18 Nov 2013 15:37:09 -0500] rev 20067
templater: only recursively evaluate string literals as templates (issue4103)
Mon, 18 Nov 2013 14:02:26 -0500 templater: fix escaping in nested string literals (issue4102) stable
Matt Mackall <mpm@selenic.com> [Mon, 18 Nov 2013 14:02:26 -0500] rev 20066
templater: fix escaping in nested string literals (issue4102) Before the templater got extended for nested expressions, it made sense to decode string escapes across the whole string. Now we do it on a piece by piece basis.
Sun, 17 Nov 2013 20:22:59 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 17 Nov 2013 20:22:59 -0500] rev 20065
merge with stable
Thu, 07 Nov 2013 20:36:26 -0800 shelve: unshelve using an unfiltered repository stable
David Soria Parra <davidsp@fb.com> [Thu, 07 Nov 2013 20:36:26 -0800] rev 20064
shelve: unshelve using an unfiltered repository when evolve is enabled and a hidden obsolete changeset exists in the repository, the strip during unshelve will fail due to filtered revs. we use an unfiltered repository like to repair.strip to strip the proper nodes.
Thu, 07 Nov 2013 01:56:40 +0100 largefiles: update in two steps, handle interrupted updates better stable
Mads Kiilerich <madski@unity3d.com> [Thu, 07 Nov 2013 01:56:40 +0100] rev 20063
largefiles: update in two steps, handle interrupted updates better An update would try to fetch any missing largefiles after having updated normal files and standins. That could fail or be interrupted and would leave the working directory in a state where the largefiles not only were missing but also were scheduled for remove ... and where the old largefile was left in place. Instead we now remove old largefiles before starting to download and update missing largefiles.
Thu, 07 Nov 2013 01:49:48 +0100 largefiles: inline _updatelfile, prepare for further refactorings stable
Mads Kiilerich <madski@unity3d.com> [Thu, 07 Nov 2013 01:49:48 +0100] rev 20062
largefiles: inline _updatelfile, prepare for further refactorings
Thu, 07 Nov 2013 01:48:00 +0100 largefiles: cache largefiles for update, also without printmessage stable
Mads Kiilerich <madski@unity3d.com> [Thu, 07 Nov 2013 01:48:00 +0100] rev 20061
largefiles: cache largefiles for update, also without printmessage
Thu, 07 Nov 2013 01:47:59 +0100 largefiles: cleanup of printmessage handling - the printed flag was redundant stable
Mads Kiilerich <madski@unity3d.com> [Thu, 07 Nov 2013 01:47:59 +0100] rev 20060
largefiles: cleanup of printmessage handling - the printed flag was redundant
Sun, 17 Nov 2013 18:13:55 -0500 test-module-imports: skip on Python < 2.6, since ast is new in 2.6
Augie Fackler <raf@durin42.com> [Sun, 17 Nov 2013 18:13:55 -0500] rev 20059
test-module-imports: skip on Python < 2.6, since ast is new in 2.6
Sun, 17 Nov 2013 17:49:48 -0500 Merge with stable.
Augie Fackler <raf@durin42.com> [Sun, 17 Nov 2013 17:49:48 -0500] rev 20058
Merge with stable.
Sat, 16 Nov 2013 19:56:30 -0500 convert: fix svn crash when svn.ra.get_log calls back with orig_paths=None stable
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 19:56:30 -0500] rev 20057
convert: fix svn crash when svn.ra.get_log calls back with orig_paths=None get_log started calling back with orig_paths=None on Fedora 20 with subversion-1.8.3. That broke test-convert-svn-source.t . There used to be some handling of that situation until e8f4e40f285a apparently broke it. This patch restores what seems to be the most obvious handling of the situation.
Sat, 16 Nov 2013 17:30:34 -0500 share: fix unshare calling wrong repo.__init__() method stable
Brodie Rao <brodie@sf.io> [Sat, 16 Nov 2013 17:30:34 -0500] rev 20056
share: fix unshare calling wrong repo.__init__() method When running the unshare command, if there's other code that tries to use the repo after the command is finished, it'll end up with a ui object for repo.unfiltered(). This change fixes an erroneous call to repo.__init__() that could be on the repoview proxy class--now it's always done on the unfiltered repo.
Sun, 17 Nov 2013 13:31:18 -0800 statichttprepo.httprangeheader: implement readlines
Siddharth Agarwal <sid0@fb.com> [Sun, 17 Nov 2013 13:31:18 -0800] rev 20055
statichttprepo.httprangeheader: implement readlines bookmarks.readcurrent() requires readlines() on file objects returned from repo.vfs. It isn't used right now but will be in upcoming patches.
Sun, 17 Nov 2013 13:28:11 -0800 statichttprepo: pass in True to splitlines, not 1
Siddharth Agarwal <sid0@fb.com> [Sun, 17 Nov 2013 13:28:11 -0800] rev 20054
statichttprepo: pass in True to splitlines, not 1 splitlines actually takes a boolean.
Sat, 16 Nov 2013 15:46:28 -0500 mq: don't add '* * *' separators when there is no commit message
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 15:46:28 -0500] rev 20053
mq: don't add '* * *' separators when there is no commit message
Sat, 16 Nov 2013 15:46:29 -0500 bisect: avoid confusing use of variables with same names in nested local scopes
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 15:46:29 -0500] rev 20052
bisect: avoid confusing use of variables with same names in nested local scopes
Sat, 16 Nov 2013 15:46:29 -0500 discovery: make note messages for new heads more readable
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 15:46:29 -0500] rev 20051
discovery: make note messages for new heads more readable
Sat, 16 Nov 2013 15:46:29 -0500 discovery: tweak error message for multiple branch heads
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 15:46:29 -0500] rev 20050
discovery: tweak error message for multiple branch heads
Sat, 16 Nov 2013 15:46:29 -0500 test-obsolete-checkheads.t: remove todo comment that was fixed in be0fcbb1c92f
Mads Kiilerich <madski@unity3d.com> [Sat, 16 Nov 2013 15:46:29 -0500] rev 20049
test-obsolete-checkheads.t: remove todo comment that was fixed in be0fcbb1c92f
Sun, 17 Nov 2013 11:18:39 -0500 convert: readability and test of rpairs function
Mads Kiilerich <madski@unity3d.com> [Sun, 17 Nov 2013 11:18:39 -0500] rev 20048
convert: readability and test of rpairs function
Sun, 17 Nov 2013 11:16:59 -0500 tests: make doctest test runner less verbose
Mads Kiilerich <madski@unity3d.com> [Sun, 17 Nov 2013 11:16:59 -0500] rev 20047
tests: make doctest test runner less verbose
Sun, 17 Nov 2013 10:59:35 -0500 tests: python hash seed is only relevant after failures - otherwise keep quiet
Mads Kiilerich <madski@unity3d.com> [Sun, 17 Nov 2013 10:59:35 -0500] rev 20046
tests: python hash seed is only relevant after failures - otherwise keep quiet
Sat, 16 Nov 2013 13:29:39 -0800 scmutil.filecache: support watching over multiple files
Siddharth Agarwal <sid0@fb.com> [Sat, 16 Nov 2013 13:29:39 -0800] rev 20045
scmutil.filecache: support watching over multiple files
Sat, 16 Nov 2013 13:24:26 -0800 scmutil: introduce a filecacheentry that can watch multiple paths
Siddharth Agarwal <sid0@fb.com> [Sat, 16 Nov 2013 13:24:26 -0800] rev 20044
scmutil: introduce a filecacheentry that can watch multiple paths
Sat, 16 Nov 2013 13:19:06 -0800 scmutil: rename filecacheentry to filecachesubentry
Siddharth Agarwal <sid0@fb.com> [Sat, 16 Nov 2013 13:19:06 -0800] rev 20043
scmutil: rename filecacheentry to filecachesubentry Upcoming patches will allow the file cache to watch over multiple files, and call the decorated function again if any of the files change. The particular use case for this is the bookmark store, which needs to be invalidated if either .hg/bookmarks or .hg/bookmarks.current changes. (This doesn't currently happen, which is a bug. This bug will also be fixed in upcoming patches.)
Sat, 16 Nov 2013 13:33:33 -0800 scmutil.filecacheentry: make stat argument to constructor mandatory
Siddharth Agarwal <sid0@fb.com> [Sat, 16 Nov 2013 13:33:33 -0800] rev 20042
scmutil.filecacheentry: make stat argument to constructor mandatory There's no real upside to making stat optional -- this constructor has just two callers.
Sat, 16 Nov 2013 13:57:35 -0800 test-filecache.py: add markers to the output for each event
Siddharth Agarwal <sid0@fb.com> [Sat, 16 Nov 2013 13:57:35 -0800] rev 20041
test-filecache.py: add markers to the output for each event Previously it was possible that a different, incorrect set of events might print out 'creating' the same number of times.
Sat, 16 Nov 2013 14:10:28 -0800 test-filecache.py: make setbeforeget test clearer
Siddharth Agarwal <sid0@fb.com> [Sat, 16 Nov 2013 14:10:28 -0800] rev 20040
test-filecache.py: make setbeforeget test clearer '0' and 'None' as outputs tripped me up. Make the distinction between values set externally and values computed by calling the decorated function clearer.
Sun, 17 Nov 2013 13:38:35 -0500 test-module-imports.t: new test to use the import cycle detector
Augie Fackler <raf@durin42.com> [Sun, 17 Nov 2013 13:38:35 -0500] rev 20039
test-module-imports.t: new test to use the import cycle detector
Sun, 17 Nov 2013 13:33:20 -0500 import-checker: try a little harder to show fewer cycles
Augie Fackler <raf@durin42.com> [Sun, 17 Nov 2013 13:33:20 -0500] rev 20038
import-checker: try a little harder to show fewer cycles This makes sure that all cycles begin with the lexicographically first module, so that we're less likely to show overlapping cycles in the final analysis.
Sun, 17 Nov 2013 16:58:18 -0500 import-checker: ignore nested imports
Augie Fackler <raf@durin42.com> [Sun, 17 Nov 2013 16:58:18 -0500] rev 20037
import-checker: ignore nested imports
Sun, 17 Nov 2013 13:04:18 -0500 contrib: add an import checker
Augie Fackler <raf@durin42.com> [Sun, 17 Nov 2013 13:04:18 -0500] rev 20036
contrib: add an import checker This checks for cycles in the module graph and verifies that imports of stdlib modules are not on the same line as relative imports of mercurial modules.
Wed, 06 Nov 2013 22:09:15 -0500 makememctx: move from patch to context to break import cycle
Augie Fackler <raf@durin42.com> [Wed, 06 Nov 2013 22:09:15 -0500] rev 20035
makememctx: move from patch to context to break import cycle
Wed, 06 Nov 2013 16:48:06 -0500 cleanup: move stdlib imports to their own import statement
Augie Fackler <raf@durin42.com> [Wed, 06 Nov 2013 16:48:06 -0500] rev 20034
cleanup: move stdlib imports to their own import statement There are a few warnings still produced by my import checker, but those are false positives produced by modules that share a name with stdlib modules.
Wed, 06 Nov 2013 18:19:04 -0500 pathutil: tease out a new library to break an import cycle from canonpath use
Augie Fackler <raf@durin42.com> [Wed, 06 Nov 2013 18:19:04 -0500] rev 20033
pathutil: tease out a new library to break an import cycle from canonpath use
Wed, 06 Nov 2013 14:38:34 -0500 subsettable: move from repoview to branchmap, the only place it's used
Augie Fackler <raf@durin42.com> [Wed, 06 Nov 2013 14:38:34 -0500] rev 20032
subsettable: move from repoview to branchmap, the only place it's used This is a step towards breaking an import cycle between revset and repoview. Import cycles happened to work in Python 2 with implicit relative imports, but breaks on Python 3 when we start using explicit relative imports via 2to3 rewrite rules.
Sat, 16 Nov 2013 20:12:02 -0500 obsolete: add __eq__ and __hash__ to marker to make set() deduplication work
Augie Fackler <raf@durin42.com> [Sat, 16 Nov 2013 20:12:02 -0500] rev 20031
obsolete: add __eq__ and __hash__ to marker to make set() deduplication work
Sat, 16 Nov 2013 20:31:58 -0500 obsolete: do not accept duplicated marker during exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 16 Nov 2013 20:31:58 -0500] rev 20030
obsolete: do not accept duplicated marker during exchange Before this patch, duplicated obsolescence markers could slip into an obstore if the bookmark was unknown locally and duplicated in the incoming obsolescence stream. Existing duplicate markers will not be automatically removed but they'll stop propagating. Having a few duplicated markers is harmless and people have been warned evolution is <blink>experimental</blink> anyway.
Sun, 17 Nov 2013 13:42:24 -0500 Merge with stable.
Augie Fackler <raf@durin42.com> [Sun, 17 Nov 2013 13:42:24 -0500] rev 20029
Merge with stable.
Sat, 16 Nov 2013 20:34:58 -0500 obsolete: stop doing membership test on list stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 16 Nov 2013 20:34:58 -0500] rev 20028
obsolete: stop doing membership test on list According to the Surgeon General, computer should not use list for membership testing because of the risk of being slow.
Fri, 08 Nov 2013 12:45:52 +0900 bookmarks: rewrite pushing bookmarks in "localrepository.push()" by "compare()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 08 Nov 2013 12:45:52 +0900] rev 20027
bookmarks: rewrite pushing bookmarks in "localrepository.push()" by "compare()" This patch adds "updateremote()", which uses "compare()" to compare bookmarks between the local and the remote repositories, to replace pushing local bookmarks in "localrepository.push()".
Fri, 08 Nov 2013 12:45:52 +0900 bookmarks: rewrite pushing local bookmarks in "commands.push()" by "compare()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 08 Nov 2013 12:45:52 +0900] rev 20026
bookmarks: rewrite pushing local bookmarks in "commands.push()" by "compare()" This patch adds "pushtoremote()", which uses "compare()" to compare bookmarks between the local and the remote repositories, to replace pushing local bookmarks in "commands.push()".
Fri, 08 Nov 2013 12:45:52 +0900 bookmarks: rewrite "updatefromremote()" by "compare()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 08 Nov 2013 12:45:52 +0900] rev 20025
bookmarks: rewrite "updatefromremote()" by "compare()" To update entries in bmstore "localmarks", this patch uses "bin(changesetid)" instead of "repo[changesetid].node()" used in original "updatefromremote()" implementation, because the former is cheaper than the latter.
Fri, 08 Nov 2013 12:45:52 +0900 bookmarks: add function to centralize the logic to compare bookmarks
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 08 Nov 2013 12:45:52 +0900] rev 20024
bookmarks: add function to centralize the logic to compare bookmarks This patch adds "compare()" function to centralize the logic to compare bookmarks between two repositories.
Sun, 10 Nov 2013 18:23:29 +0400 hgweb: use semantically suitable filelog.revs in filelog
Alexander Plavin <alexander@plav.in> [Sun, 10 Nov 2013 18:23:29 +0400] rev 20023
hgweb: use semantically suitable filelog.revs in filelog The functions are equivalent in behaviour, so no behavior change.
Sun, 10 Nov 2013 18:07:56 +0400 hgweb: always compute all entries and latestentry in filelog
Alexander Plavin <alexander@plav.in> [Sun, 10 Nov 2013 18:07:56 +0400] rev 20022
hgweb: always compute all entries and latestentry in filelog This is the same thing which was done for changelog earlier, and it doesn't affect performance at all. This change will make it possible to get the first entry of the next page easily without computing the list twice.
Sun, 10 Nov 2013 18:05:53 +0400 hgweb: remove unused argument of entries function in filelog
Alexander Plavin <alexander@plav.in> [Sun, 10 Nov 2013 18:05:53 +0400] rev 20021
hgweb: remove unused argument of entries function in filelog This doesn't change the behavior as the argument wasn't used anyway.
Sat, 16 Nov 2013 23:14:20 +0900 transplant: use peer of source repository as "remote" for "repo.pull()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 16 Nov 2013 23:14:20 +0900] rev 20020
transplant: use peer of source repository as "remote" for "repo.pull()" Before this patch, transplant with "--merge" option fails with traceback unexpectedly, if it causes pull from the source repository on the local host. "discovery.findcommonincoming()" invokes "capable()" method on the object given from "localrepository.pull()", but it is "localrepository" object in this case and doesn't have such method. This patch uses peer object of source repository as "remote" argument for "localrepository.pull()" invocation like other invocations of it in transplant.py.
Fri, 15 Nov 2013 22:57:11 -0500 run-tests: remove files that we potentially create outside of $TMPDIR
Sean Farley <sean.michael.farley@gmail.com> [Fri, 15 Nov 2013 22:57:11 -0500] rev 20019
run-tests: remove files that we potentially create outside of $TMPDIR
Fri, 15 Nov 2013 22:56:08 -0500 run-tests: remove code that creates a dummy 'diffstat'
Sean Farley <sean.michael.farley@gmail.com> [Fri, 15 Nov 2013 22:56:08 -0500] rev 20018
run-tests: remove code that creates a dummy 'diffstat' This was introduced in fb1d7a42663c for an old test that is no longer the same.
Fri, 15 Nov 2013 18:08:50 -0500 template: change extras to use showlist rather than manual templ call.
Matthew Turk <matthewturk@gmail.com> [Fri, 15 Nov 2013 18:08:50 -0500] rev 20017
template: change extras to use showlist rather than manual templ call. This enables start_extras and end_extras in template maps.
Fri, 15 Nov 2013 18:09:02 -0500 help: adding example 'extras' printing to 'hg help templates'
Matthew Turk <matthewturk@gmail.com> [Fri, 15 Nov 2013 18:09:02 -0500] rev 20016
help: adding example 'extras' printing to 'hg help templates'
Fri, 15 Nov 2013 16:53:54 -0500 help: document about {extras} template keyword
Matthew Turk <matthewturk@gmail.com> [Fri, 15 Nov 2013 16:53:54 -0500] rev 20015
help: document about {extras} template keyword This adds text about the "extras" template keyword, similar to that proposed by Yuya Nishihara previously.
Sat, 09 Nov 2013 14:50:12 +0100 check-code: document last ignore regexp
Simon Heimberg <simohe@besonet.ch> [Sat, 09 Nov 2013 14:50:12 +0100] rev 20014
check-code: document last ignore regexp For easier remembering to delete when it is not needed anymore.
Sat, 09 Nov 2013 14:49:05 +0100 check-code: drop unneeded ignore patterns
Simon Heimberg <simohe@besonet.ch> [Sat, 09 Nov 2013 14:49:05 +0100] rev 20013
check-code: drop unneeded ignore patterns The exceptions seem to have disappeared.
Sat, 16 Nov 2013 12:44:28 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 16 Nov 2013 12:44:28 -0500] rev 20012
merge with stable
Sat, 16 Nov 2013 12:34:05 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Sat, 16 Nov 2013 12:34:05 -0500] rev 20011
merge with i18n
Fri, 15 Nov 2013 13:20:49 -0800 contrib: add editmerge script for editor conflict prompts
Durham Goode <durham@fb.com> [Fri, 15 Nov 2013 13:20:49 -0800] rev 20010
contrib: add editmerge script for editor conflict prompts Adds a script that opens the editor to the conflict as part of the merge process. This way you can fix the merge during the rebase instead of having to pause the rebase, resolve --mark, rebase --continue. Only works on unix.
Thu, 14 Nov 2013 21:37:18 -0600 strip: fix last unprotected mq reference (issue4097) stable
Matt Mackall <mpm@selenic.com> [Thu, 14 Nov 2013 21:37:18 -0600] rev 20009
strip: fix last unprotected mq reference (issue4097)
Thu, 14 Nov 2013 18:07:43 -0600 tests: skip tests that require not having root (issue4089)
Matt Mackall <mpm@selenic.com> [Thu, 14 Nov 2013 18:07:43 -0600] rev 20008
tests: skip tests that require not having root (issue4089) This adds a new root hghave to test against. Almost all of these are a subset of unix-permissions, but that is also used for checking exec bit handling.
Thu, 14 Nov 2013 17:17:44 -0600 make: restrict recursion in make clean
Matt Mackall <mpm@selenic.com> [Thu, 14 Nov 2013 17:17:44 -0600] rev 20007
make: restrict recursion in make clean
Tue, 12 Nov 2013 00:07:23 +0900 scmutil: skip checks in "casecollisionauditor" if filename is already checked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 12 Nov 2013 00:07:23 +0900] rev 20006
scmutil: skip checks in "casecollisionauditor" if filename is already checked Before this patch, almost all of check code in "casecollisionauditor.__call__()" is executed, even if specified filename is already checked, because "f in self._newfiles" is examined lastly. In addition to it, adding "fl" to "self._loweredfiles" and "f" to "self._newfiles" are also redundant in such case. This patch checks "f in self._newfiles" first, and returns immediately to avoid execution of check code for efficiency.
Sat, 09 Nov 2013 10:21:20 +0100 check-code: prepend warning prefix only once, but for each warning stable
Simon Heimberg <simohe@besonet.ch> [Sat, 09 Nov 2013 10:21:20 +0100] rev 20005
check-code: prepend warning prefix only once, but for each warning The code adding the prefix is now run once per pattern. It was run once per file (after the change 3e1e4a8aec1e). Demonstrate that it is working now by extending the test. Raise two different warnings, one of them twice.
Wed, 13 Nov 2013 16:46:46 -0200 hgweb, i18n: do not translate search mode description stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 13 Nov 2013 16:46:46 -0200] rev 20004
hgweb, i18n: do not translate search mode description The search mode description can't be translated by itself, since it's displayed as part of a template phrase (the "Assuming ..." / "Use ... instead" bits). Just drop the translation markers for now, since the templates themselves currently do not support translations.
Sun, 10 Nov 2013 16:48:24 +0900 tests: end output lines including path with "(glob)" to pass on Windows stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 10 Nov 2013 16:48:24 +0900] rev 20003
tests: end output lines including path with "(glob)" to pass on Windows
Sun, 10 Nov 2013 16:48:24 +0900 tests: quote environment variable to extract wildcard on MinGW environment stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 10 Nov 2013 16:48:24 +0900] rev 20002
tests: quote environment variable to extract wildcard on MinGW environment On MinGW environment, the command line below in test script can't extract wildcard "*" and remove target files correctly. $ rm $ENVVAR/foo/bar.* To extract wildcard, environment variable should be quoted by double quotation like below: $ rm "$ENVVAR"/foo/bar.* This patch also omits "-f" of "rm" to know whether files are removed or not by exit code of it.
Sun, 10 Nov 2013 16:48:24 +0900 tests: choose the path separator in PYTHONPATH suitable for platform stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 10 Nov 2013 16:48:24 +0900] rev 20001
tests: choose the path separator in PYTHONPATH suitable for platform Before this patch, test code introduced by e3a5922e18c3 into test-extension.t always uses ":" as the path separator in PYTHONPATH. But ";" should be used on Windows. This patch chooses the path separator in PYTHONPATH suitable for platform.
Fri, 08 Nov 2013 12:35:50 +0100 util: warn when adding paths ending with \ stable
Mads Kiilerich <madski@unity3d.com> [Fri, 08 Nov 2013 12:35:50 +0100] rev 20000
util: warn when adding paths ending with \ Paths ending with \ will fail the verification introduced in 684a977c2ae0 when checking out on Windows ... and if it didn't fail it would probably not do what the user expected.
Tue, 05 Nov 2013 09:00:31 +0100 check-code: more replacement characters stable
Simon Heimberg <simohe@besonet.ch> [Tue, 05 Nov 2013 09:00:31 +0100] rev 19999
check-code: more replacement characters for finding '.. note::' (even) more exact by using more characters: replace '.' with 'p' and ':' with 'q'
Tue, 05 Nov 2013 09:00:31 +0100 check-code: check comment for '.. note::' without two newlines stable
Simon Heimberg <simohe@besonet.ch> [Tue, 05 Nov 2013 09:00:31 +0100] rev 19998
check-code: check comment for '.. note::' without two newlines Because string entries are replaced before matching, we must search for the transformed pattern. But it seems to be quite unique and does not return false matches. If it will, they can be listed as 3rd arg in pypats.
Tue, 05 Nov 2013 08:59:55 +0100 documentation: add an extra newline after note directive stable
Simon Heimberg <simohe@besonet.ch> [Tue, 05 Nov 2013 08:59:55 +0100] rev 19997
documentation: add an extra newline after note directive Like this no docutils version interprets any line in the following text as argument of note.
Mon, 04 Nov 2013 10:23:06 +0100 tests: modify minirst test input to new format stable
Simon Heimberg <simohe@besonet.ch> [Mon, 04 Nov 2013 10:23:06 +0100] rev 19996
tests: modify minirst test input to new format Modifying the test input data shows the effects of the last patches. In text output nothing has changed. In html output the title has moved on its own line.
Mon, 04 Nov 2013 10:23:06 +0100 minirst: do not add a 2nd empty paragraph stable
Simon Heimberg <simohe@besonet.ch> [Mon, 04 Nov 2013 10:23:06 +0100] rev 19995
minirst: do not add a 2nd empty paragraph This does not add a separating block after a separated note directive. .. note:: text is formatted to Note: text
Mon, 04 Nov 2013 10:23:06 +0100 minirst: find admonitions before pruning comments and adding margins stable
Simon Heimberg <simohe@besonet.ch> [Mon, 04 Nov 2013 10:23:06 +0100] rev 19994
minirst: find admonitions before pruning comments and adding margins Lines with only a directive are not deleted anymore because they are detected before comments are deleted by prunecomments(). addmargins() will be adapted later.
Mon, 04 Nov 2013 10:23:06 +0100 minirst: do not fail on an empty admonition block stable
Simon Heimberg <simohe@besonet.ch> [Mon, 04 Nov 2013 10:23:06 +0100] rev 19993
minirst: do not fail on an empty admonition block
Mon, 04 Nov 2013 10:23:06 +0100 minirst: do not interpret a directive as a literal block stable
Simon Heimberg <simohe@besonet.ch> [Mon, 04 Nov 2013 10:23:06 +0100] rev 19992
minirst: do not interpret a directive as a literal block When a directive was on its own line, it was interpreted as a literal block. Example of problematic input: .. note:: a note text
Tue, 05 Nov 2013 09:43:36 +0100 Makefile: do update on a temporary copy of a po file
Simon Heimberg <simohe@besonet.ch> [Tue, 05 Nov 2013 09:43:36 +0100] rev 19991
Makefile: do update on a temporary copy of a po file This avoids having a half completed file (with a new timestamp) when msgmerge has failed.
Mon, 04 Nov 2013 10:52:41 -0200 i18n-pt_BR: synchronized with d24ee6d7d167 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 04 Nov 2013 10:52:41 -0200] rev 19990
i18n-pt_BR: synchronized with d24ee6d7d167
Thu, 07 Nov 2013 15:24:23 -0600 date: allow %z in format (issue4040)
Matt Mackall <mpm@selenic.com> [Thu, 07 Nov 2013 15:24:23 -0600] rev 19989
date: allow %z in format (issue4040)
Wed, 06 Nov 2013 16:36:07 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 06 Nov 2013 16:36:07 -0600] rev 19988
merge with stable
Wed, 06 Nov 2013 10:20:18 -0800 merge: move forgets to the beginning of the action list stable
Siddharth Agarwal <sid0@fb.com> [Wed, 06 Nov 2013 10:20:18 -0800] rev 19987
merge: move forgets to the beginning of the action list Forgets need to be in the beginning of the action list, same as removes. This lets us avoid clashes in the dirstate where a directory is forgotten and a file with the same name is added, or vice versa.
Fri, 01 Nov 2013 17:08:06 -0700 rebase: fix working copy location after a --collapse (issue4080) stable
Durham Goode <durham@fb.com> [Fri, 01 Nov 2013 17:08:06 -0700] rev 19986
rebase: fix working copy location after a --collapse (issue4080) Rebasing with --collapse would leave the working copy on the parent of the collapsed commit, instead of on the collapsed commit. This fixes that. Also fixes a few tests that already covered this area but had bad data. This also fixes issue3716 where bookmarks are not kept across rebases with --collapse. I updated the test to cover that case as well.
Wed, 06 Nov 2013 12:53:39 -0500 Merge with stable.
Augie Fackler <raf@durin42.com> [Wed, 06 Nov 2013 12:53:39 -0500] rev 19985
Merge with stable.
Mon, 04 Nov 2013 19:59:00 -0800 rebase: fix rebase aborts when 'tip-1' is public (issue4082) stable
Durham Goode <durham@fb.com> [Mon, 04 Nov 2013 19:59:00 -0800] rev 19984
rebase: fix rebase aborts when 'tip-1' is public (issue4082) When aborting a rebase where tip-1 is public, rebase would fail to undo the merge state. This caused unexpected dirstate parents and also caused unshelve to become unabortable (since it uses rebase under the hood). The problem was that rebase uses -2 as a marker rev, and when it checked for immutableness during the abort, -2 got resolved to the second to last entry in the phase cache. Adds a test for the fix. Add exception to phase code to prevent this in the future.
Tue, 05 Nov 2013 13:25:45 -0500 Merge with stable.
Augie Fackler <raf@durin42.com> [Tue, 05 Nov 2013 13:25:45 -0500] rev 19983
Merge with stable.
Sat, 02 Nov 2013 11:25:04 +0100 check-code: prepend warning prefix for repeated warnings only once
Simon Heimberg <simohe@besonet.ch> [Sat, 02 Nov 2013 11:25:04 +0100] rev 19982
check-code: prepend warning prefix for repeated warnings only once When a warning occured several times in one file, "warning: " was prepended several times: examplefile.py:3: > def a(object): warning: this looks wrong examplefile.py:27: > def x(object): warning: warning: this looks wrong
Sat, 02 Nov 2013 11:25:33 +0100 check-code: fix an error message
Simon Heimberg <simohe@besonet.ch> [Sat, 02 Nov 2013 11:25:33 +0100] rev 19981
check-code: fix an error message
Tue, 05 Nov 2013 10:55:45 +0100 test: do not add .pyc and .orig in test-commit-amend.t (issue4085) stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 05 Nov 2013 10:55:45 +0100] rev 19980
test: do not add .pyc and .orig in test-commit-amend.t (issue4085) This makes the test fails with disabled byte-compilation (PYTHONDONTWRITEBYTECODE="1" environmental variable).
Fri, 01 Nov 2013 17:04:18 -0500 Added signature for changeset d825e4025e39 stable
Matt Mackall <mpm@selenic.com> [Fri, 01 Nov 2013 17:04:18 -0500] rev 19979
Added signature for changeset d825e4025e39
Fri, 01 Nov 2013 17:04:14 -0500 Added tag 2.8 for changeset d825e4025e39 stable
Matt Mackall <mpm@selenic.com> [Fri, 01 Nov 2013 17:04:14 -0500] rev 19978
Added tag 2.8 for changeset d825e4025e39
Fri, 01 Nov 2013 17:04:03 -0500 merge with i18n stable 2.8
Matt Mackall <mpm@selenic.com> [Fri, 01 Nov 2013 17:04:03 -0500] rev 19977
merge with i18n
Fri, 01 Nov 2013 11:04:48 -0200 i18n-pt_BR: fix a few missing changes on 95304251c376 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 01 Nov 2013 11:04:48 -0200] rev 19976
i18n-pt_BR: fix a few missing changes on 95304251c376
Thu, 31 Oct 2013 00:25:20 -0200 i18n-pt_BR: synchronized with 95304251c376 stable
Wagner Bruna <wbruna@yahoo.com> [Thu, 31 Oct 2013 00:25:20 -0200] rev 19975
i18n-pt_BR: synchronized with 95304251c376
Thu, 31 Oct 2013 03:05:46 +0900 i18n-ja: synchronized with 1d7a36ff2615 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 31 Oct 2013 03:05:46 +0900] rev 19974
i18n-ja: synchronized with 1d7a36ff2615
Sun, 13 Oct 2013 08:38:30 -0400 patch: ensure valid git diffs if source/destination file is missing (issue4046) stable
Johan Bjork <jbjoerk@gmail.com> [Sun, 13 Oct 2013 08:38:30 -0400] rev 19973
patch: ensure valid git diffs if source/destination file is missing (issue4046) This is arguably a workaround, a better fix may be in the repo to ensure that it won't list a file 'modified' unless there is a file context for the previous version.
Sun, 27 Oct 2013 00:24:25 +0900 histedit: add description about exit code stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 27 Oct 2013 00:24:25 +0900] rev 19972
histedit: add description about exit code
Sun, 27 Oct 2013 00:24:25 +0900 rebase: add description about exit code when there are unresolved conflicts stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 27 Oct 2013 00:24:25 +0900] rev 19971
rebase: add description about exit code when there are unresolved conflicts
Sat, 02 Nov 2013 04:49:42 +0900 shelve: remove unused variable assignment stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 02 Nov 2013 04:49:42 +0900] rev 19970
shelve: remove unused variable assignment Fix test-check-pyflakes.t error after 1d7a36ff2615. This patch replaces "readshelvedfiles()" invocation by "shelvedfile().exists()" check and aborting, because it is required only to ensure that shelved changes corresponded to specified name exist after invocation. This patch also remove definition of "readshelvedfiles()" itself, because it is invoked only from the line removed by this patch.
Wed, 30 Oct 2013 19:45:14 +0100 rebase: fix selection of base used when rebasing merge (issue4041) stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 30 Oct 2013 19:45:14 +0100] rev 19969
rebase: fix selection of base used when rebasing merge (issue4041) Prior this changeset, rebasing a merge whose first parent was not in the rebase lead to wrong and highly conflicting merge. See the in-line comment for details. Test have been updated with the data provided by the reported.
Tue, 29 Oct 2013 21:54:49 +0200 doc: fix internal date sample (issue4072) stable
Pavlos Touboulidis <pav@pav.gr> [Tue, 29 Oct 2013 21:54:49 +0200] rev 19968
doc: fix internal date sample (issue4072)
Mon, 28 Oct 2013 22:34:07 +0100 largefiles: use 'remote'/'local' in merge prompts like in other merge prompts stable
Mads Kiilerich <madski@unity3d.com> [Mon, 28 Oct 2013 22:34:07 +0100] rev 19967
largefiles: use 'remote'/'local' in merge prompts like in other merge prompts Prompts like foo has been turned into a largefile use (l)argefile or keep as (n)ormal file? was not as clear as the usual prompts that use 'remote' or 'local' to explain what happened on which side ... especially not when used to the normal prompts. "as" could also indicate that it would be possible to take the content of the largefile and somehow put it into the normal file. It could make it more clear that it was a choice between one side or the other. For consistency we will now phrase it like: remote turned local normal file f into a largefile use (l)argefile or keep (n)ormal file?
Mon, 28 Oct 2013 22:34:05 +0100 largefiles: systematic testing of merges to/from largefiles stable
Mads Kiilerich <madski@unity3d.com> [Mon, 28 Oct 2013 22:34:05 +0100] rev 19966
largefiles: systematic testing of merges to/from largefiles 427ce5633c1c fixed one problem with update and added a test case for it. The test coverage was thus insufficient before that. To make sure we have good test coverage in this area we add systematic testing of all cases of merges that may or may not change normal files to largefiles or vice versa. The tests shows some annoying extra merge prompts in some cases, but these prompts are hard to avoid and they are now "safe" - they do not leave the system in a confused inconsistent state.
Wed, 23 Oct 2013 23:42:13 +0800 check-code: fix no-check-code skip message - obfuscation was too obscure stable
Mads Kiilerich <madski@unity3d.com> [Wed, 23 Oct 2013 23:42:13 +0800] rev 19965
check-code: fix no-check-code skip message - obfuscation was too obscure
Tue, 29 Oct 2013 01:03:43 +0900 shelve: remove useless and incorrect code paths for file access stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 29 Oct 2013 01:03:43 +0900] rev 19964
shelve: remove useless and incorrect code paths for file access This patch removes code paths in "shelvedfile.opener()", because: - explicit "vfs.mkdir()" invocation is useless "vfs.__call__()" for modes other than "read" creates parent directory of target file automatically by "util.ensuredirs()". - mode checking in "except IOError" code path is useless ENOENT occurs only for "read" mode, because target file is created forcibly for other modes. - there is no explicit "return" statement in the code path for "except IOError" if "mode[0] in 'wa'" this is incorrect, because None may be returnd unexpectedly, even though it seems the EEXIST case in the directory creation race for ".hg/shelved" and is very rare. this directory creation race is also treated in "util.ensuredirs()".
Tue, 29 Oct 2013 01:03:43 +0900 shelve: disallow commit while unshelve is in progress stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 29 Oct 2013 01:03:43 +0900] rev 19963
shelve: disallow commit while unshelve is in progress Before this patch, commit is allowed even while unshelve is in progress. In the other hand, "hg unshelve --abort" and "hg unshelve --continue" check whether parent revisions of the working directory have changed or not since last "hg unshelve", and abort without clearing state for unshelve in progress if they have. This causes that accidental commit makes clearing state for unshelve difficult in ordinary ways. This patch disallows commit while unshelve is in progress for consistency.
Wed, 30 Oct 2013 16:03:42 -0500 bdiff: avoid a memory error on malloc failure stable
Matt Mackall <mpm@selenic.com> [Wed, 30 Oct 2013 16:03:42 -0500] rev 19962
bdiff: avoid a memory error on malloc failure
Wed, 23 Oct 2013 13:12:48 -0700 shelve: use rebase instead of merge (issue4068) stable
Durham Goode <durham@fb.com> [Wed, 23 Oct 2013 13:12:48 -0700] rev 19961
shelve: use rebase instead of merge (issue4068) Previously, shelve used merge to unshelve things. This meant that if you shelved changes on one branch, then unshelved on another, all the changes from the first branch would be present in the second branch, and not just the shelved changes. The fix is to use rebase to pick the shelve commit off the original branch and place it on top of the new branch. This means only the shelved changes are brought across. This has the side effect of fixing several other issues in shelve: - you can now unshelve into a file that already has pending changes - unshelve a mv/cp now has the correct dirstate value (A instead of M) - you can now unshelve to an ancestor of the shelve - unshelve now no longer deletes untracked .orig files Updates tests and adds a new one to cover the issue. The test changes fall into a few categories: - I removed some excess output - The --continue/--abort state is a little different, so the parents and dirstate needed updating - Removed some untracked files at certain points that cluttered the output
Fri, 25 Oct 2013 01:14:18 +0900 doc: put text into header of 1st column in table to generate page correctly stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 25 Oct 2013 01:14:18 +0900] rev 19960
doc: put text into header of 1st column in table to generate page correctly >From the table without header text of 1st column, docutils generates the table with fully empty header row.
Fri, 25 Oct 2013 01:14:18 +0900 doc: use double quotation mark to quote arguments in examples for Windows users stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 25 Oct 2013 01:14:18 +0900] rev 19959
doc: use double quotation mark to quote arguments in examples for Windows users On Windows, only double quotation mark can quote command line arguments. So, this patch uses double quotation mark to quote command line arguments in all examples of online help document.
Fri, 25 Oct 2013 01:14:18 +0900 doc: end line preceding command line example with double colon stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 25 Oct 2013 01:14:18 +0900] rev 19958
doc: end line preceding command line example with double colon
Thu, 24 Oct 2013 21:37:13 +0900 hgweb: add missing semicolon stable
Takumi IINO <trot.thunder@gmail.com> [Thu, 24 Oct 2013 21:37:13 +0900] rev 19957
hgweb: add missing semicolon
Wed, 23 Oct 2013 23:42:13 +0800 rebase: improve error message for more than one external parent stable
Mads Kiilerich <madski@unity3d.com> [Wed, 23 Oct 2013 23:42:13 +0800] rev 19956
rebase: improve error message for more than one external parent
Thu, 24 Oct 2013 12:05:22 +0800 rebase: refactor and rename checkexternal - it is a getter more than a setter stable
Mads Kiilerich <madski@unity3d.com> [Thu, 24 Oct 2013 12:05:22 +0800] rev 19955
rebase: refactor and rename checkexternal - it is a getter more than a setter
Fri, 25 Oct 2013 02:33:59 +0800 largefiles: don't prompt for normal/largefile changes when doing plain updates stable
Mads Kiilerich <madski@unity3d.com> [Fri, 25 Oct 2013 02:33:59 +0800] rev 19954
largefiles: don't prompt for normal/largefile changes when doing plain updates We used to get like: $ hg up -r 2 foo has been turned into a normal file keep as (l)argefile or use (n)ormal file? l getting changed largefiles 0 largefiles updated, 0 removed 0 files updated, 0 files merged, 2 files removed, 0 files unresolved $ cat foo cat: foo: No such file or directory [1] - which both asked the wrong question and did the wrong thing. Instead, skip this conflict resolution when the local conflicting file has been scheduled for removal and there thus is no conflict.
Fri, 25 Oct 2013 02:25:10 +0800 largefiles: remove extra check for file to get - it _is_ by definition in p2 stable
Mads Kiilerich <madski@unity3d.com> [Fri, 25 Oct 2013 02:25:10 +0800] rev 19953
largefiles: remove extra check for file to get - it _is_ by definition in p2
Fri, 25 Oct 2013 01:24:10 +0800 largefiles: don't process merge actions at all when overwriting stable
Mads Kiilerich <madski@unity3d.com> [Fri, 25 Oct 2013 01:24:10 +0800] rev 19952
largefiles: don't process merge actions at all when overwriting
Thu, 24 Oct 2013 01:49:56 +0800 spelling: random spell checker fixes stable
Mads Kiilerich <madski@unity3d.com> [Thu, 24 Oct 2013 01:49:56 +0800] rev 19951
spelling: random spell checker fixes
Thu, 17 Oct 2013 16:13:15 +0800 largefiles: hide passwords in URLs in ui messages stable
Mads Kiilerich <madski@unity3d.com> [Thu, 17 Oct 2013 16:13:15 +0800] rev 19950
largefiles: hide passwords in URLs in ui messages
Thu, 24 Oct 2013 01:49:56 +0800 largefiles: don't add extra \n when displaying remote messages in putlfile stable
Mads Kiilerich <madski@unity3d.com> [Thu, 24 Oct 2013 01:49:56 +0800] rev 19949
largefiles: don't add extra \n when displaying remote messages in putlfile
Mon, 21 Oct 2013 11:22:54 +0800 largefiles: add missing \n in ui.warn messages stable
Mads Kiilerich <madski@unity3d.com> [Mon, 21 Oct 2013 11:22:54 +0800] rev 19948
largefiles: add missing \n in ui.warn messages
Thu, 24 Oct 2013 01:49:56 +0800 largefiles: fix 'unexpected response' warning newlines stable
Mads Kiilerich <madski@unity3d.com> [Thu, 24 Oct 2013 01:49:56 +0800] rev 19947
largefiles: fix 'unexpected response' warning newlines Warnings should always end with \n. The warning message might contain or end with \n, so better show it with repr encoding.
Mon, 21 Oct 2013 23:40:56 +0200 win32: add shelve extension to mercurial.ini stable
Pascal Quantin <pascal.quantin@gmail.com> [Mon, 21 Oct 2013 23:40:56 +0200] rev 19946
win32: add shelve extension to mercurial.ini
Mon, 21 Oct 2013 22:23:36 +0100 strip: fix spelling: "allows to" -> "allows you to" stable
Javi Merino <cibervicho@gmail.com> [Mon, 21 Oct 2013 22:23:36 +0100] rev 19945
strip: fix spelling: "allows to" -> "allows you to"
Tue, 22 Oct 2013 23:38:58 +0900 cmdutil: fix makefileobj not to clobber default modemap dict stable
Yuya Nishihara <yuya@tcha.org> [Tue, 22 Oct 2013 23:38:58 +0900] rev 19944
cmdutil: fix makefileobj not to clobber default modemap dict Problem occurs if "hg cat -o" is invoked more than once in the same process. The output of "hg cat" will be appended because of modemap[fn] = 'ab'.
Tue, 22 Oct 2013 12:41:05 +0900 shelve: make unshelve work even if it don't run in repository root stable
Takumi IINO <trot.thunder@gmail.com> [Tue, 22 Oct 2013 12:41:05 +0900] rev 19943
shelve: make unshelve work even if it don't run in repository root revertfiles are relative to the repository root. not paths relative to the cwd.
Mon, 21 Oct 2013 10:50:58 -0700 tests: move generaldelta test to inline python (issue4064) stable
Matt Mackall <mpm@selenic.com> [Mon, 21 Oct 2013 10:50:58 -0700] rev 19942
tests: move generaldelta test to inline python (issue4064)
Mon, 21 Oct 2013 10:26:38 -0700 help: minor tweak to push help stable
Matt Mackall <mpm@selenic.com> [Mon, 21 Oct 2013 10:26:38 -0700] rev 19941
help: minor tweak to push help
Sat, 12 Oct 2013 18:51:34 -0700 pager: honour internal aliases stable
David Soria Parra <dsp@experimentalworks.net> [Sat, 12 Oct 2013 18:51:34 -0700] rev 19940
pager: honour internal aliases If paging is configured for a command all it's internal defined aliases will be paged as well. This will make attend=log cause 'hg history' to run the pager. However custom aliases will not be paged by default.
Sun, 20 Oct 2013 16:45:04 -0700 Added signature for changeset 1596f2d8f242 stable
Matt Mackall <mpm@selenic.com> [Sun, 20 Oct 2013 16:45:04 -0700] rev 19939
Added signature for changeset 1596f2d8f242
Sun, 20 Oct 2013 16:44:58 -0700 Added tag 2.8-rc for changeset 1596f2d8f242 stable
Matt Mackall <mpm@selenic.com> [Sun, 20 Oct 2013 16:44:58 -0700] rev 19938
Added tag 2.8-rc for changeset 1596f2d8f242
Sun, 20 Oct 2013 16:43:11 -0700 merge default into stable for 2.8 freeze stable 2.8-rc
Matt Mackall <mpm@selenic.com> [Sun, 20 Oct 2013 16:43:11 -0700] rev 19937
merge default into stable for 2.8 freeze
Thu, 03 Oct 2013 23:16:07 +0900 discovery: revise hint message introduced by changeset b00ba31313c3
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 03 Oct 2013 23:16:07 +0900] rev 19936
discovery: revise hint message introduced by changeset b00ba31313c3 This patch revises hint message from "for detail about" introduced by changeset b00ba31313c3 to "for details about", to unify it with the hint message introduced by proceeding patch.
Thu, 03 Oct 2013 23:16:06 +0900 push: add more detailed explanation about "--force" to online help document
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 03 Oct 2013 23:16:06 +0900] rev 19935
push: add more detailed explanation about "--force" to online help document This patch adds more detailed explanation about "--force" to online help document of "hg push" to prevent novice users to execute "push --force" easily without understanding about problems of multiple branch heads in the repository.
Thu, 03 Oct 2013 23:16:06 +0900 push: hide description about "-f" in the hint to prevent from using it easily
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 03 Oct 2013 23:16:06 +0900] rev 19934
push: hide description about "-f" in the hint to prevent from using it easily "use push -f to force" in the hint at abortion of "hg push" may cause novice users to execute "push -f" easily without understanding about problems of multiple branch heads in the repository. This patch hides description about "-f" in the hint, and leads into seeing "hg help push" for details about pushing new heads.
Sat, 05 Oct 2013 01:02:22 +0900 demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 05 Oct 2013 01:02:22 +0900] rev 19933
demandimport: allow extensions to import own modules by absolute name Before this patch, python modules of each extensions can't import another one in own extension by absolute name, because root modules of each extensions are loaded with "hgext_" prefix. For example, "import extroot.bar" in "extroot/foo.py" of "extroot" extension fails, even though "import bar" in it succeeds. Installing extensions into site-packages of python library path can avoid this problem, but this solution is not reasonable in some cases: using binary package of Mercurial on Windows, for example. This patch retries to import with "hgext_" prefix after ImportError, if the module in the extension may try to import another one in own extension. This patch doesn't change some "_import()"/"_origimport()" invocations below, because ordinary extensions shouldn't cause such invocations. - invocation of "_import()" when root module imports sub-module by absolute path without "fromlist" for example, "import a.b" in "a.__init__.py". extensions are loaded with "hgext_" prefix, and this causes execution of another (= fixed by this patch) code path. - invocation of "_origimport()" when "level != -1" with "fromlist" for example, importing after "from __future__ import absolute_import" (level == 0), or "from . import b" or "from .a import b" (0 < level), for portability between python versions and environments, extensions shouldn't cause "level != -1".
Sat, 05 Oct 2013 01:02:22 +0900 demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 05 Oct 2013 01:02:22 +0900] rev 19932
demandimport: support "absolute_import" for external libraries (issue4029) Before this patch, demandimport of Mercurial may fail to load external libraries using "from __future__ import absolute_import": for example, importing "foo" in "bar.baz" module will load "bar.foo" if it exists, even though "absolute_import" is enabled in "bar.baz" module. So, extensions for Mercurial can't use such external libraries. This patch saves "level" of import request for on-demand module loading in the future: default value of level is -1, and level is 0 when "absolute_import" is enabled. "level" value is passed to built-in import function in "_demandmod._load()" and it should load target module correctly. This patch changes only one "_demandmod" construction case other than cases below: - construction in "_demandmod._load()" this code path should be used only in relative sub-module loading case - constructions other than patched one in"_demandimport()" these code paths shouldn't be used in "level != -1" case
Sat, 05 Oct 2013 01:02:22 +0900 hghave: add "py3k" feature to check whether test runs with Python 3.x
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 05 Oct 2013 01:02:22 +0900] rev 19931
hghave: add "py3k" feature to check whether test runs with Python 3.x This patch adds "py3k" feature to check whether test runs with Python 3.x. This check is needed for portability of test code: for example, in the default, modules are imported relatively first with python 2.x, but imported absolutely with Python 3.x.
Sat, 05 Oct 2013 01:02:22 +0900 hghave: add "absimport" feature to check "absolute_import" in __future__
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 05 Oct 2013 01:02:22 +0900] rev 19930
hghave: add "absimport" feature to check "absolute_import" in __future__ This patch adds "absimport" feature to check whether "absolute_import" exists in __future__, which means supporting module loading by absolute name. This check is needed for portability of test code using "absolute_import", because Python earlier than 2.5 doesn't support it.
Tue, 01 Oct 2013 17:43:54 -0700 merge: exit early during a no-op update (BC)
Siddharth Agarwal <sid0@fb.com> [Tue, 01 Oct 2013 17:43:54 -0700] rev 19929
merge: exit early during a no-op update (BC) hg update . (or equivalents) are effectively no-ops in just about all circumstances. These sorts of updates can be especially common in a bookmark-oriented workflow. This saves us a status check and a manifest decompression, which means that on a repo with over 210,000 files, this brings hg update . down from 2.5 seconds to 0.15. There is one change in behavior: a file that was added, not committed, and then deleted but not removed used to be removed from the dirstate. With this patch it isn't. This is what causes the change in test-mq-qpush-exact.t. This seems like it's enough of an edge case to not be worth handling. The output of test-empty.t changes because those files are not yet created.
Thu, 17 Oct 2013 21:45:17 +0900 localrepo: invoke only feature setup functions for enabled extensions
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 17 Oct 2013 21:45:17 +0900] rev 19928
localrepo: invoke only feature setup functions for enabled extensions Before this patch, each feature setup functions for localrepository class should examine whether corresponding extension is enabled or not by themselves. This patch invokes only feature setup functions defined in module of enabled extensions, and it makes implementation of feature setup functions easier and simpler.
Wed, 02 Oct 2013 21:16:40 +0900 lock: handle race in trylock/testlock on Windows
Yuya Nishihara <yuya@tcha.org> [Wed, 02 Oct 2013 21:16:40 +0900] rev 19927
lock: handle race in trylock/testlock on Windows readlock may raise IOError if the system does not support symlink.
Mon, 14 Oct 2013 17:12:59 +0200 rebase: preserve active bookmark when not at head (issue3813)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 17:12:59 +0200] rev 19926
rebase: preserve active bookmark when not at head (issue3813) Now that the working directory parent is preserved, we can preserve the active bookmark too.
Mon, 14 Oct 2013 16:12:29 +0200 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 16:12:29 +0200] rev 19925
rebase: preserve working directory parent (BC) Prior to this changeset, rebase always left the working directory as a parent of the last rebased changeset. The is dubious when, before the rebase, the working directory was not a parent of the tip most rebased changeset. With this changeset, we move the working directory back to its original parent. If the original parent was rebased, we use it's successors. This is a step toward solving issue3813 (rebase loses active bookmark if it's not on a head)
Mon, 14 Oct 2013 16:49:54 +0200 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 16:49:54 +0200] rev 19924
tests: prepare rebase test for wc parent preservation In the way to solving issue3813 we'll preserve the working directory parent after the rebase. Multiple rebases test expect the working directory parent to be tip after rebase. We patches them before the actual change to prevent confusion.
Fri, 18 Oct 2013 18:56:52 +0200 tests: test-gendoc.t checks if anything was translated
Simon Heimberg <simohe@besonet.ch> [Fri, 18 Oct 2013 18:56:52 +0200] rev 19923
tests: test-gendoc.t checks if anything was translated This would triggered when the variable would be set wrong again.
Fri, 18 Oct 2013 18:49:45 +0200 tests: really test translations for rst syntax errors (issue4003)
Simon Heimberg <simohe@besonet.ch> [Fri, 18 Oct 2013 18:49:45 +0200] rev 19922
tests: really test translations for rst syntax errors (issue4003) The variable LC_ALL did not work, use LANGUAGE instead. Before this patch, the original language C was generated (and tested) in every run.
Fri, 18 Oct 2013 18:49:32 +0200 i18n: fix wrong rst syntax
Simon Heimberg <simohe@besonet.ch> [Fri, 18 Oct 2013 18:49:32 +0200] rev 19921
i18n: fix wrong rst syntax Fix syntax errors like wrong indentation and invalid quotation. All errors preventing to generate valid html documentation (by gendoc.py) are fixed.
Sat, 19 Oct 2013 17:26:34 -0700 i18n-ru: fix the language team field
Matt Mackall <mpm@selenic.com> [Sat, 19 Oct 2013 17:26:34 -0700] rev 19920
i18n-ru: fix the language team field Having this at the default value caused some versions of msgfmt to give fatal errors.
Thu, 10 Oct 2013 04:32:36 +0200 commands: refactor 'serve', extract the http service class
Mads Kiilerich <madski@unity3d.com> [Thu, 10 Oct 2013 04:32:36 +0200] rev 19919
commands: refactor 'serve', extract the http service class
Thu, 10 Oct 2013 04:28:44 +0200 largefiles: refactor basestore, extract _gethash method
Mads Kiilerich <madski@unity3d.com> [Thu, 10 Oct 2013 04:28:44 +0200] rev 19918
largefiles: refactor basestore, extract _gethash method
Thu, 10 Oct 2013 04:28:39 +0200 largefiles: make the protocol hack for replacing heads with lheads more precise
Mads Kiilerich <madski@unity3d.com> [Thu, 10 Oct 2013 04:28:39 +0200] rev 19917
largefiles: make the protocol hack for replacing heads with lheads more precise Before the hack would replace 'heads' with 'lheads' no matter where it occured in a batch command string. Instead we will use a regexp to more carefully only match the 'heads' commands.
Mon, 01 Apr 2013 20:01:16 -0700 mq: refactor usage of repo.branchmap().iteritems() with itervalues()
Brodie Rao <brodie@sf.io> [Mon, 01 Apr 2013 20:01:16 -0700] rev 19916
mq: refactor usage of repo.branchmap().iteritems() with itervalues()
Sat, 19 Oct 2013 14:21:05 -0700 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 19 Oct 2013 14:21:05 -0700] rev 19915
merge with stable
Sat, 19 Oct 2013 14:20:31 -0700 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Sat, 19 Oct 2013 14:20:31 -0700] rev 19914
merge with i18n
Thu, 10 Oct 2013 13:38:13 +0100 i18n-ru: synchronized with 1aaefba2a3a9 stable
Alexander Sauta <demosito@gmail.com> [Thu, 10 Oct 2013 13:38:13 +0100] rev 19913
i18n-ru: synchronized with 1aaefba2a3a9
Tue, 27 Aug 2013 16:03:16 +0400 i18n-ru: fix misprints stable
Vladimir Zakharov <zakharov.vv@gmail.com> [Tue, 27 Aug 2013 16:03:16 +0400] rev 19912
i18n-ru: fix misprints
Wed, 16 Oct 2013 10:36:58 -0400 shelve: some docstring cleanups
Augie Fackler <raf@durin42.com> [Wed, 16 Oct 2013 10:36:58 -0400] rev 19911
shelve: some docstring cleanups
Mon, 14 Oct 2013 00:25:29 -0400 dirstate.status: return explicit unknown files even when not asked
Siddharth Agarwal <sid0@fb.com> [Mon, 14 Oct 2013 00:25:29 -0400] rev 19910
dirstate.status: return explicit unknown files even when not asked dirstate.walk will return unknown files that were explicitly requested, even if listunknown is false. There's no point in dropping these files on the floor in dirstate.status. This has no effect on any current callers, because all of them assume the unknown list is empty and ignore it. Future callers may find it useful, though.
Mon, 14 Oct 2013 18:29:56 +0200 shelve: add minimal documentation to all functions
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 18:29:56 +0200] rev 19909
shelve: add minimal documentation to all functions There is a lot of functions in this extension. We had a small documentation help people getting started.
Mon, 14 Oct 2013 17:46:47 +0200 shelve: use the class constant in the clear method
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 17:46:47 +0200] rev 19908
shelve: use the class constant in the clear method This class attribut is used everywhere else. Not using it in clear will get us in trouble sooner or later.
Sat, 12 Oct 2013 11:29:28 +0400 hgweb: fix unstoppable loading of graph when no more results
Alexander Plavin <alexander@plav.in> [Sat, 12 Oct 2013 11:29:28 +0400] rev 19907
hgweb: fix unstoppable loading of graph when no more results When a user reaches the end of repo history with graph view, it (unsuccessfully) tried to load more entries. This patch disables further loading attempts.
Wed, 24 Jul 2013 03:20:26 +0400 hgweb: remove now unnecessary explicit header() and footer()
Alexander Plavin <alexander@plav.in> [Wed, 24 Jul 2013 03:20:26 +0400] rev 19906
hgweb: remove now unnecessary explicit header() and footer() They became unnecessary after allowing custom-named entries in templates.
Fri, 16 Aug 2013 21:41:19 +0400 hgweb: replace 'shortlog' with 'changelog' in raw changelog template
Alexander Plavin <alexander@plav.in> [Fri, 16 Aug 2013 21:41:19 +0400] rev 19905
hgweb: replace 'shortlog' with 'changelog' in raw changelog template
Mon, 14 Oct 2013 18:59:12 +0200 shelve: drop pickle usage
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 14 Oct 2013 18:59:12 +0200] rev 19904
shelve: drop pickle usage Pickle was used to the `shelvedstate` file. However the content of the file is very simple and we can handle serialisation ourself. Not using pickle is a net win. Note incrementing the format version as no releases have been done so far.
Tue, 15 Oct 2013 00:51:05 +0900 store: use "vfs.exists()" instead of "os.path.exists()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:05 +0900] rev 19903
store: use "vfs.exists()" instead of "os.path.exists()"
Tue, 15 Oct 2013 00:51:05 +0900 context: use "vfs.lstat()" to examine target path instead of "os.path.*"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:05 +0900] rev 19902
context: use "vfs.lstat()" to examine target path instead of "os.path.*" This patch gets stat object of target path by "vfs.lstat()", and examines stat object to know the type of it. This follows the way in "workingctx.add()". This should be cheaper than original implementation invoking "lexists()", "isfile()" and "islink()".
Tue, 15 Oct 2013 00:51:04 +0900 context: use "vfs.lstat()" instead of "os.lstat()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19901
context: use "vfs.lstat()" instead of "os.lstat()"
Tue, 15 Oct 2013 00:51:04 +0900 context: use "vfs.lstat()" instead of "os.lstat()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19900
context: use "vfs.lstat()" instead of "os.lstat()" This patch also changes paths added to "rejected" list from full path (referred by "p") to relative one (referred by "f"), when type of target path is neither file nor symlink. This change should be reasonable, because the path added to "rejected" list is relative one, when "OSError" is raised at "lstat()".
Tue, 15 Oct 2013 00:51:04 +0900 changelog: use "vfs.fstat()" instead of "util.fstat()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19899
changelog: use "vfs.fstat()" instead of "util.fstat()" Just invoking "os.fstat()" with "file.fileno()" doesn't require non ANSI file API, because filename is not used for invocation of "os.fstat()". But "util.fstat()" should invoke "os.stat()" with "fp.name", if file object doesn't have "fileno()" method for portability, and "fp.name" may cause invocation of non ANSI file API. So, this patch makes the constructor of appender class invoke "util.fstat()" via vfs, to encapsulate filename handling.
Tue, 15 Oct 2013 00:51:04 +0900 changelog: use "vfs.rename()" instead of "util.rename()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19898
changelog: use "vfs.rename()" instead of "util.rename()"
Tue, 15 Oct 2013 00:51:04 +0900 vfs: add "open()" for newly added code paths which open files via vfs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19897
vfs: add "open()" for newly added code paths which open files via vfs This patch replaces "open()" by own "__call__()" defined in derived classes at the first invocation, for efficiency of succeeding invocations.
Tue, 15 Oct 2013 00:51:04 +0900 bookmarks: use "vfs.utime()" instead of "os.utime()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19896
bookmarks: use "vfs.utime()" instead of "os.utime()"
Tue, 15 Oct 2013 00:51:04 +0900 bookmarks: use "vfs.unlink()" instead of "util.unlink()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Oct 2013 00:51:04 +0900] rev 19895
bookmarks: use "vfs.unlink()" instead of "util.unlink()"
Thu, 03 Oct 2013 18:01:21 +0200 cmdutil: use None as default value for "function pointer" instead of False
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 18:01:21 +0200] rev 19894
cmdutil: use None as default value for "function pointer" instead of False Less type confusion.
Thu, 03 Oct 2013 18:01:21 +0200 graft: make skip messages more helpful
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 18:01:21 +0200] rev 19893
graft: make skip messages more helpful This makes it possible for the user to understand and accept or work around what is happening.
Thu, 03 Oct 2013 18:01:21 +0200 convert: update source shamap when using filemap, just as when not using filemap
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 18:01:21 +0200] rev 19892
convert: update source shamap when using filemap, just as when not using filemap The reverse mapping was introduced in 2147a734dcf9 to make roundtrip conversions possible ... but it did not work when using filemap. Roundtrips with filemaps will of course only work flawlessly if inverse mappings are used. Especially, if a lossy convert mapping is used in one direction, then only linear lines of development can be converted in the other direction. With this constraint convert will do the right thing by assuming that excluded files haven't been changed.) A test case with general coverage of hg-hg roundtrips with filemap is added. (There a cases where adding records of converted revisions to the shamap in the source repository doesn't work - especially when converting the same repo to several other repos and back. It would arguably be better if convert only updated the shamaps in the target repo but read shamaps from both the source and and target repo ... but that is a different story. Making the stuff we have work consistently is step forward no matter what.)
Sat, 20 Jul 2013 00:43:08 +0200 convert: introduce hg.revs to replace hg.startrev and --rev with a revset
Mads Kiilerich <madski@unity3d.com> [Sat, 20 Jul 2013 00:43:08 +0200] rev 19891
convert: introduce hg.revs to replace hg.startrev and --rev with a revset The existing knobs for controlling which revisions to convert were often insufficient. Revsets is a shiny hammer that provides a better solution. Revsets has been introduced in --rev handling in a lot of other places while being more or less backwards compatible. Doing the same here would be a much more elegant ... but that would unfortunately not work in this case. "--rev 7" used to mean revision 0 to 7 - it would be an unacceptable change if it suddenly just meant revision 7. Instead we introduce a new configuration setting. It will only work for Mercurial repositories so adding a new commandline option for it would not be a nice solution. There is no way to use the fancy deprecation markup for configuration settings so we just remove the documentation of hg.startrev.
Thu, 03 Oct 2013 18:01:21 +0200 convert: refactor head calculation for hg sources
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 18:01:21 +0200] rev 19890
convert: refactor head calculation for hg sources
Fri, 19 Jul 2013 14:20:11 +0200 convert: remove unused and incorrect default handling for revmapfile
Mads Kiilerich <madski@unity3d.com> [Fri, 19 Jul 2013 14:20:11 +0200] rev 19889
convert: remove unused and incorrect default handling for revmapfile destc is not a string and can thus not be os.path.join'ed. Convert would crash if we ended up there ... but we wouldn't because both the sinks (hg and subversion) sinks implement .revmapfile and "never" throws exceptions.
Mon, 30 Sep 2013 18:27:42 -0700 generaldelta: fix test
Wojciech Lopata <lopek@fb.com> [Mon, 30 Sep 2013 18:27:42 -0700] rev 19888
generaldelta: fix test
Fri, 11 Oct 2013 17:19:40 -0700 shelve: fix dirstate corruption during unshelve (issue4055)
Durham Goode <durham@fb.com> [Fri, 11 Oct 2013 17:19:40 -0700] rev 19887
shelve: fix dirstate corruption during unshelve (issue4055) If you shelved on top of commit A, then rebased A to @ and unshelved, any file changed in A would appear as modified in hg status despite the contents not having changed. The fix is to use dirstate.setparents() instead of doing it manually. This will be a little slower since it has to iterate through everything in the dirstate instead of only what's in the mergestate, but this will be more correct since the mergestate did not include files which were merged but had no conflict. The tests also had several bad dirstate's hardcoded in them. This change updates the tests appropriately and adds a new test to cover this specific rebase case.
Wed, 09 Oct 2013 14:15:34 -0700 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 09 Oct 2013 14:15:34 -0700] rev 19886
merge with stable
Wed, 09 Oct 2013 14:15:20 -0700 shelve: only save mq state if enabled
Sean Farley <sean.michael.farley@gmail.com> [Wed, 09 Oct 2013 14:15:20 -0700] rev 19885
shelve: only save mq state if enabled Test coverage has been added.
Mon, 07 Oct 2013 11:45:01 -0700 changegroup: don't run changegroup hooks if nodes are gone
Durham Goode <durham@fb.com> [Mon, 07 Oct 2013 11:45:01 -0700] rev 19884
changegroup: don't run changegroup hooks if nodes are gone The changegroup hook runs when the repo lock is released, but it's possible that multiple transactions have happened during that single lock and therefore the commits the hook was for may be gone. This is the case in the shelve extension where it adds a commit and strips it in the same lock but different transactions (which results in warning messages during unshelve on hgsubversion repos). A real fix would be to attach the hook to the transaction instead, but that might have unknown consequences. Since we're this close to code-freeze, this fix just prevents the hook from running if the commit disappeared.
Wed, 09 Oct 2013 12:02:32 -0700 hgweb: add escaping of tags and bookmarks in graph view stable
Matt Mackall <mpm@selenic.com> [Wed, 09 Oct 2013 12:02:32 -0700] rev 19883
hgweb: add escaping of tags and bookmarks in graph view
Wed, 09 Oct 2013 11:50:19 -0700 json: add more paranoid escaping stable
Matt Mackall <mpm@selenic.com> [Wed, 09 Oct 2013 11:50:19 -0700] rev 19882
json: add more paranoid escaping
Wed, 02 Oct 2013 09:50:21 +0200 shelve: make no_backup parameter passing python 2.4 compatible
David Soria Parra <dsp@experimentalworks.net> [Wed, 02 Oct 2013 09:50:21 +0200] rev 19881
shelve: make no_backup parameter passing python 2.4 compatible Python 2.4 doesn't allow passing named parameter after an list unpack, but allows to unpack a dict.
Wed, 09 Oct 2013 11:27:59 -0700 ui: send password prompts to stderr again (issue4056) stable
Matt Mackall <mpm@selenic.com> [Wed, 09 Oct 2013 11:27:59 -0700] rev 19880
ui: send password prompts to stderr again (issue4056)
Mon, 07 Oct 2013 15:21:17 -0700 hgweb: escape branch names in graph view stable
Matt Mackall <mpm@selenic.com> [Mon, 07 Oct 2013 15:21:17 -0700] rev 19879
hgweb: escape branch names in graph view
Wed, 02 Oct 2013 11:16:03 +0200 test: make test-propertycache.py python2.4 compatible stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Oct 2013 11:16:03 +0200] rev 19878
test: make test-propertycache.py python2.4 compatible The subprocess module have not `check_call` method in python2.4. Fall back to calling `check` with return code verification.
Tue, 01 Oct 2013 09:54:46 +0200 hgweb: log headers only if headers were successfully parsed stable
David Soria Parra <dsp@experimentalworks.net> [Tue, 01 Oct 2013 09:54:46 +0200] rev 19877
hgweb: log headers only if headers were successfully parsed The headers attribute is not initialized in certain error situations (e.g. http 400 bad request). Check for self.headers before we attempt to access it.
Mon, 07 Oct 2013 17:47:55 -0400 merge with stable
Augie Fackler <raf@durin42.com> [Mon, 07 Oct 2013 17:47:55 -0400] rev 19876
merge with stable
Mon, 07 Oct 2013 17:47:19 -0400 patch: Fix nullid for binary git diffs (issue4054) stable
Johan Bjork <jbjoerk@gmail.com> [Mon, 07 Oct 2013 17:47:19 -0400] rev 19875
patch: Fix nullid for binary git diffs (issue4054) The index for an empty file in git is not 0, but sha-1("blobl 0\0").
Thu, 03 Oct 2013 19:41:25 +0200 shelve: copy bookmarks and restore them after a commit
David Soria Parra <dsp@experimentalworks.net> [Thu, 03 Oct 2013 19:41:25 +0200] rev 19874
shelve: copy bookmarks and restore them after a commit cmdutil.commit() will advance the bookmarks. Therefore we have to restore them afterwards. We have to use update() to ensure we preserve the bmstore object.
Thu, 03 Oct 2013 14:50:47 +0200 check-code: check that '>' is used for continued lines
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 14:50:47 +0200] rev 19873
check-code: check that '>' is used for continued lines Continued lines do not get the SALT mangling.
Thu, 03 Oct 2013 14:50:47 +0200 check-code: check for spaces around = for named parameters
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 14:50:47 +0200] rev 19872
check-code: check for spaces around = for named parameters
Thu, 03 Oct 2013 14:50:47 +0200 run-tests: place the .t shell script next to $TESTTMP and with a useful name
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 14:50:47 +0200] rev 19871
run-tests: place the .t shell script next to $TESTTMP and with a useful name --keep can thus keep it around - very convenient for debugging.
Thu, 03 Oct 2013 14:50:46 +0200 tests: fix void and invalid test in test-archive.t
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 14:50:46 +0200] rev 19870
tests: fix void and invalid test in test-archive.t An echo statement was missed in the .t-ification in afe19a1bf9d3 so we ended up with invalid sh syntax. But at the same time a continuation line was marked as $ instead of > and we thus added the salt that made the expression valid again.
Wed, 02 Oct 2013 14:24:25 -0700 inotify: don't pass pidfile option to child
Siddharth Agarwal <sid0@fb.com> [Wed, 02 Oct 2013 14:24:25 -0700] rev 19869
inotify: don't pass pidfile option to child The child no longer needs it.
Wed, 02 Oct 2013 15:20:49 -0700 cmdutil.service: move pidfile writing to the parent in daemon mode
Siddharth Agarwal <sid0@fb.com> [Wed, 02 Oct 2013 15:20:49 -0700] rev 19868
cmdutil.service: move pidfile writing to the parent in daemon mode There is a potential race here, which I suspect I've spotted in the wild, where something reads the pid file after the parent exits but before the child has had a chance to write to it. Moving writing the file to the parent causes this to no longer be an issue.
Wed, 02 Oct 2013 15:17:50 -0700 cmdutil.service: move pidfile writing to a local function
Siddharth Agarwal <sid0@fb.com> [Wed, 02 Oct 2013 15:17:50 -0700] rev 19867
cmdutil.service: move pidfile writing to a local function An upcoming patch will reuse this code.
Wed, 02 Oct 2013 14:20:26 -0700 inotify: add pidfile to parent options
Siddharth Agarwal <sid0@fb.com> [Wed, 02 Oct 2013 14:20:26 -0700] rev 19866
inotify: add pidfile to parent options An upcoming patch will move pidfile writing from the parent to the child. This means that if the pid file isn't specified on the command-line but is specified as a config option, it needs to be added to the parent's opts dict.
Wed, 02 Oct 2013 22:46:32 +0100 get-with-headers: don't block indefinitely if the server had an internal error
Javi Merino <cibervicho@gmail.com> [Wed, 02 Oct 2013 22:46:32 +0100] rev 19865
get-with-headers: don't block indefinitely if the server had an internal error If the server had an internal error and returned 500, there's nothing to read, so "response.read()" blocks indefinitely. Only output the response if there's really a response.
Fri, 19 Jul 2013 02:32:36 +0200 convert: fix description of 'convert --rev'
Mads Kiilerich <madski@unity3d.com> [Fri, 19 Jul 2013 02:32:36 +0200] rev 19864
convert: fix description of 'convert --rev'
Wed, 02 Oct 2013 19:46:48 +0200 convert: fix crash when existing converted revision didn't come from source
Mads Kiilerich <madski@unity3d.com> [Wed, 02 Oct 2013 19:46:48 +0200] rev 19863
convert: fix crash when existing converted revision didn't come from source This case can happen when converting from multiple repositories with filemap.
Wed, 02 Oct 2013 19:46:47 +0200 convert: fix crash when filemap filtering is changed
Mads Kiilerich <madski@unity3d.com> [Wed, 02 Oct 2013 19:46:47 +0200] rev 19862
convert: fix crash when filemap filtering is changed
Tue, 01 Oct 2013 14:48:53 -0400 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com> [Tue, 01 Oct 2013 14:48:53 -0400] rev 19861
rebase: preserve metadata from grafts of changes (issue4001)
Tue, 01 Oct 2013 14:28:18 -0400 rebase: rework extrafn handling to support multiple extrafns
Augie Fackler <raf@durin42.com> [Tue, 01 Oct 2013 14:28:18 -0400] rev 19860
rebase: rework extrafn handling to support multiple extrafns This makes it possible to pass keepbranches and extrafn to rebase at the same time, although nobody uses that functionality presently. This is a precursor to keeping graft metadata.
Fri, 06 Sep 2013 13:30:58 +0400 hgweb: call process_dates with a specified selector in ajax scroll
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19859
hgweb: call process_dates with a specified selector in ajax scroll Now this function processes only newly added entries, and not old ones, the amount of which can be much bigger.
Fri, 06 Sep 2013 13:30:58 +0400 hgweb: add parentSelector argument to process_dates
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19858
hgweb: add parentSelector argument to process_dates Allow specifying parent selector of elements to process, useful for incremental page updates.
Fri, 06 Sep 2013 13:30:58 +0400 hgweb: optimize process_dates function
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19857
hgweb: optimize process_dates function This function looped over every node due to getElementsByTagName('*'), instead of using selectors. In this patch we use querySelectorAll('.age') and process only these nodes, which is much faster and also doesn't require extra condition. Browser compatibility isn't sacrificed: IE 8+, FF 3.5+, Opera 10+.
Thu, 29 Aug 2013 09:22:15 -0700 shelve: allow shelving of a change with an mq patch applied
David Soria Parra <dsp@experimentalworks.net> [Thu, 29 Aug 2013 09:22:15 -0700] rev 19856
shelve: allow shelving of a change with an mq patch applied We allow shelving of of changes on top of a MQ repository. MQ will not allow repository changes on top of applied patches. We introduce checkapplied in MQ to bypass this check.
Tue, 01 Oct 2013 12:20:31 +0200 shelve: new output format for shelve listings
David Soria Parra <dsp@experimentalworks.net> [Tue, 01 Oct 2013 12:20:31 +0200] rev 19855
shelve: new output format for shelve listings Use a more condensed and mercurial-like output format for shelve listing. We don't prefix the message with 'shelved from...' anymore as our default name contains the branch name or the user used his own name. To avoid just printing the last commit message, we drop writing the description to stdout. old output: default [1s ago] shelved from default (01ba9745): create conflict new output: default (1s ago) create conflict
Thu, 29 Aug 2013 09:22:13 -0700 shelve: add a shelve extension to save/restore working changes
David Soria Parra <dsp@experimentalworks.net> [Thu, 29 Aug 2013 09:22:13 -0700] rev 19854
shelve: add a shelve extension to save/restore working changes This extension saves shelved changes using a temporary draft commit, and bundles the temporary commit and its draft ancestors, then strips them. This strategy makes it possible to use Mercurial's bundle and merge machinery to resolve conflicts if necessary when unshelving, even when the destination commit or its ancestors have been amended, squashed, or evolved. (Once a change has been unshelved, its associated unbundled commits are either rolled back or stripped.) Storing the shelved change as a bundle also avoids the difficulty that hidden commits would cause, of making it impossible to amend the parent if it is a draft commits (a common scenario). Although this extension shares its name and some functionality with the third party hgshelve extension, it has little else in common. Notably, the hgshelve extension shelves changes as unified diffs, which makes conflict resolution a matter of finding .rej files and conflict markers, and cleaning up the mess by hand. We do not yet allow hunk-level choosing of changes to record. Compared to the hgshelve extension, this is a small regression in usability, but we hope to integrate that at a later point, once the record machinery becomes more reusable and robust.
Tue, 01 Oct 2013 12:20:29 +0200 localrepo: make report level in repo.transaction configurable
David Soria Parra <dsp@experimentalworks.net> [Tue, 01 Oct 2013 12:20:29 +0200] rev 19853
localrepo: make report level in repo.transaction configurable repo.transaction always writes to stderr when a transaction aborts. In order to be able to abort a transaction quietly (e.g shelve needs a temporary view on the repo) we need to make the report level configurable.
Tue, 01 Oct 2013 17:00:03 -0700 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 01 Oct 2013 17:00:03 -0700] rev 19852
merge with stable
Tue, 01 Oct 2013 16:55:20 -0700 Added signature for changeset e7fa36d2ad3a stable
Matt Mackall <mpm@selenic.com> [Tue, 01 Oct 2013 16:55:20 -0700] rev 19851
Added signature for changeset e7fa36d2ad3a
Tue, 01 Oct 2013 16:55:14 -0700 Added tag 2.7.2 for changeset e7fa36d2ad3a stable
Matt Mackall <mpm@selenic.com> [Tue, 01 Oct 2013 16:55:14 -0700] rev 19850
Added tag 2.7.2 for changeset e7fa36d2ad3a
Tue, 01 Oct 2013 00:35:07 +0900 rebase: catch RepoLookupError at restoring rebase state for summary stable 2.7.2
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 Oct 2013 00:35:07 +0900] rev 19849
rebase: catch RepoLookupError at restoring rebase state for summary Before this patch, "hg summary" may fail, when there is inconsistent rebase state: for example, the root of rebase destination revisions recorded in rebase state file is already stripped manually. Mercurial earlier than 2.7 allows users to do anything other than starting new rebase, even though current rebase is not finished or aborted yet. So, such inconsistent rebase states may be left and forgotten in repositories. This patch catches RepoLookupError at restoring rebase state for summary hook, and treat such state as "broken".
Tue, 01 Oct 2013 00:35:07 +0900 rebase: catch RepoLookupError at restoring rebase state for abort/continue stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 Oct 2013 00:35:07 +0900] rev 19848
rebase: catch RepoLookupError at restoring rebase state for abort/continue Before this patch, "rebase --abort"/"--continue" may fail, when rebase state is inconsistent: for example, the root of rebase destination revisions recorded in rebase state file is already stripped manually. Mercurial earlier than 2.7 allows users to do anything other than starting new rebase, even though current rebase is not finished or aborted yet. So, such inconsistent rebase states may be left and forgotten in repositories. This patch catches RepoLookupError at restoring rebase state for abort/continue, and treat such state as "broken".
Tue, 01 Oct 2013 00:35:07 +0900 histedit: suggest "histedit --abort" for inconsistent histedit state stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 Oct 2013 00:35:07 +0900] rev 19847
histedit: suggest "histedit --abort" for inconsistent histedit state Mercurial earlier than 2.7 allows users to do anything other than starting new histedit, even though current histedit is not finished or aborted yet. So, unfinished (and maybe inconsistent now) histedit states may be left and forgotten in repositories. Before this patch, histedit extension shows the message below, when it detects such inconsistent state: abort: REV is not an ancestor of working directory (update to REV or descendant and run "hg histedit --continue" again) But this message is incorrect, unless old Mercurial is re-installed, because Mercurial 2.7 or later disallows users to update the working directory to another revision. This patch changes the hint message to suggest "hg histedit --abort".
Mon, 30 Sep 2013 14:23:14 +0200 repoview: have unfilteredpropertycache using the underlying cache stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 30 Sep 2013 14:23:14 +0200] rev 19846
repoview: have unfilteredpropertycache using the underlying cache A `unfilteredpropertycache` is a kind of `propertycache` used on `localrepo` to unsure it will always be run against unfiltered repo and stored only once. As the cached value is never stored in the repoview instance, the descriptor will always be called. Before this patch such calls always result in a call to the `__get__` method of the `propertycache` on the unfiltered repo. That was recomputing a new value on every access through a repoview. We can't prevent the repoview's `unfilteredpropertycache` to get called on every access. In that case the new code makes a standard attribute access to the property. If a value is cached it will be used. The `propertycache` test file have been augmented with test about this issue.
Mon, 30 Sep 2013 14:36:11 +0200 repoview: make propertycache.setcache compatible with repoview stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 30 Sep 2013 14:36:11 +0200] rev 19845
repoview: make propertycache.setcache compatible with repoview Propertycache used standard attribute assignment. In the repoview case, this assignment was forwarded to the unfiltered repo. This result in: (1) unfiltered repo got a potentially wrong cache value, (2) repoview never reused the cached value. This patch replaces the standard attribute assignment by an assignment to `objc.__dict__` which will bypass the `repoview.__setattr__`. This will not affects other `propertycache` users and it is actually closer to the semantic we need. The interaction of `propertycache` and `repoview` are now tested in a python test file.
Tue, 01 Oct 2013 16:41:04 -0300 i18n-pt_BR: synchronized with 1aaefba2a3a9 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 01 Oct 2013 16:41:04 -0300] rev 19844
i18n-pt_BR: synchronized with 1aaefba2a3a9
Tue, 01 Oct 2013 10:44:59 -0700 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 01 Oct 2013 10:44:59 -0700] rev 19843
merge with stable
Tue, 01 Oct 2013 00:12:34 +0900 histedit: add more detailed help about "--outgoing" stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 Oct 2013 00:12:34 +0900] rev 19842
histedit: add more detailed help about "--outgoing"
Tue, 01 Oct 2013 00:12:34 +0900 histedit: abort if there are multiple roots in "--outgoing" revisions stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 Oct 2013 00:12:34 +0900] rev 19841
histedit: abort if there are multiple roots in "--outgoing" revisions Before this patch, if there are multiple roots in "--outgoing" revisions, result of "histedit --outgoing" depends on the parent of the working directory. It succeeds only when the parent of the working directory is a descendant of the oldest root in "--outgoing" revisions, and fails otherwise. It seems to be ambiguous and difficult for users. This patch makes "histedit --outgoing" abort if there are multiple roots in "--outgoing" revisions always.
Tue, 01 Oct 2013 00:26:22 +0900 discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 Oct 2013 00:26:22 +0900] rev 19840
discovery: abort also when pushing multiple headed new branch Before this patch, pushing with --new-branch permits to create multiple headed branch on the destination repository. But permitting to create new branch should be different from permitting to create multiple heads on branch. This patch prevents from careless pushing multiple headed new branch, and requires --force to push such branch forcibly.
Mon, 30 Sep 2013 17:42:38 +0200 branchmap: stop looking for stripped branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 30 Sep 2013 17:42:38 +0200] rev 19839
branchmap: stop looking for stripped branch Since repoview in 2.5 we do not make special call to `branchmap` when stripping. We just recompute the branchmap from a lower subset that still has valid branchmap. So I'm dropping this dead code.
Mon, 30 Sep 2013 17:31:39 +0200 branchmap: remove the droppednodes logic
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 30 Sep 2013 17:31:39 +0200] rev 19838
branchmap: remove the droppednodes logic It was unused. note how it is only extended if the list is empty. So it's always empty at the end. We could try to fix that, however this would part of the code is to be removed in the next changeset as we do not run `branchmap` on truncated repo since `repoview` in 2.5.
Mon, 30 Sep 2013 15:52:37 +0200 branchmap: fix blank line position
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 30 Sep 2013 15:52:37 +0200] rev 19837
branchmap: fix blank line position The blank line was after was after the `if` condition instead of before.
Tue, 01 Oct 2013 00:12:34 +0900 histedit: add more detailed help about "--outgoing"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 Oct 2013 00:12:34 +0900] rev 19836
histedit: add more detailed help about "--outgoing"
Tue, 01 Oct 2013 00:12:34 +0900 histedit: abort if there are multiple roots in "--outgoing" revisions
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 Oct 2013 00:12:34 +0900] rev 19835
histedit: abort if there are multiple roots in "--outgoing" revisions Before this patch, if there are multiple roots in "--outgoing" revisions, result of "histedit --outgoing" depends on the parent of the working directory. It succeeds only when the parent of the working directory is a descendant of the oldest root in "--outgoing" revisions, and fails otherwise. It seems to be ambiguous and difficult for users. This patch makes "histedit --outgoing" abort if there are multiple roots in "--outgoing" revisions always.
Fri, 06 Sep 2013 13:30:58 +0400 hgweb: eliminate extra complexity in process_dates definition
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19834
hgweb: eliminate extra complexity in process_dates definition There was an extra anonymous outer function, called immediately. It is removed in this patch.
Mon, 30 Sep 2013 12:36:26 -0700 util.h: backout 06badf7d10dc and 2c9645c0a582 for big-endian breakage
Siddharth Agarwal <sid0@fb.com> [Mon, 30 Sep 2013 12:36:26 -0700] rev 19833
util.h: backout 06badf7d10dc and 2c9645c0a582 for big-endian breakage getbe32 and putbe32 need to behave differently on big-endian and little-endian systems. On big-endian ones, they should be roughly equivalent to the identity function with a cast, but on little-endian ones they should reverse the order of the bytes. That is achieved by the original definition, but __builtin_bswap32 and _byteswap_ulong, as the names suggest, swap bytes around unconditionally. There was no measurable performance improvement, so there's no point adding extra complexity with even more ifdefs for endianncess.
Mon, 30 Sep 2013 12:38:08 -0700 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 30 Sep 2013 12:38:08 -0700] rev 19832
merge with stable
Mon, 30 Sep 2013 20:54:39 +0200 i18n-de: fix record prompt (issue4044) stable
Martin Schröder <martin.schroeder@nerdluecht.de> [Mon, 30 Sep 2013 20:54:39 +0200] rev 19831
i18n-de: fix record prompt (issue4044)
Mon, 30 Sep 2013 20:04:03 +0200 i18n-de: synchronized with bd5c1b49d106 stable
Martin Schröder <martin.schroeder@nerdluecht.de> [Mon, 30 Sep 2013 20:04:03 +0200] rev 19830
i18n-de: synchronized with bd5c1b49d106
Tue, 24 Sep 2013 13:34:12 -0300 i18n-pt_BR: synchronized with bd5c1b49d106 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 24 Sep 2013 13:34:12 -0300] rev 19829
i18n-pt_BR: synchronized with bd5c1b49d106
Fri, 27 Sep 2013 21:54:53 -0500 strip: bring extension description in line with style and copy-edit
Kevin Bullock <kbullock@ringworld.org> [Fri, 27 Sep 2013 21:54:53 -0500] rev 19828
strip: bring extension description in line with style and copy-edit
Thu, 26 Sep 2013 11:11:39 +0200 strip: rename test-mq-strip into test-strip
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Sep 2013 11:11:39 +0200] rev 19827
strip: rename test-mq-strip into test-strip And makes it use the strip extension only (except for the part testing mq interaction)
Thu, 26 Sep 2013 23:57:21 +0200 mq: extract strip function as its standalone extension (issue3824)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Sep 2013 23:57:21 +0200] rev 19826
mq: extract strip function as its standalone extension (issue3824) Strip now lives in its own extension reminder: The extension is surprisingly called `strip`. The `mq` extension force the use of the strip extension when its enabled. This is both necessary for backward compatibility (people expect `mq` to comes with strip) and become some utility function used by `mq` are now in the strip extension.
Thu, 26 Sep 2013 23:43:00 +0200 strip: move the strip helper function for mq to strip
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Sep 2013 23:43:00 +0200] rev 19825
strip: move the strip helper function for mq to strip The next patch finally move the command. No joke! (hey, this is for issue3824)
Thu, 26 Sep 2013 23:32:52 +0200 strip: move checklocalchanges from mq to strip
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Sep 2013 23:32:52 +0200] rev 19824
strip: move checklocalchanges from mq to strip One more step for issue3824.
Thu, 26 Sep 2013 23:12:43 +0200 strip: move checksubstate from mq to strip
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Sep 2013 23:12:43 +0200] rev 19823
strip: move checksubstate from mq to strip One more step for issue3824
Thu, 26 Sep 2013 23:10:11 +0200 mq: prepare a strip extension for extraction
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 26 Sep 2013 23:10:11 +0200] rev 19822
mq: prepare a strip extension for extraction Strip will lives in its own extension. The extension is surprisingly called `strip`. (as discussed in issue3824) The `mq` extension force the use of the strip extension when its enabled. This will both necessary for backward compatibility (people expect `mq` to comes with strip) and become some utility function used by `mq` will move in the strip extension.
Thu, 26 Sep 2013 14:47:19 +0200 histedit: remove unused parents() call
David Soria Parra <dsp@experimentalworks.net> [Thu, 26 Sep 2013 14:47:19 +0200] rev 19821
histedit: remove unused parents() call
Wed, 25 Sep 2013 14:16:51 +0200 mq: have the strip command functionnal on repo without mq
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 14:16:51 +0200] rev 19820
mq: have the strip command functionnal on repo without mq This is the last step before being able to extract `strip` in its own extension. The changes are made in mq to allow a move only extraction without touching a line of code.
Wed, 25 Sep 2013 14:07:37 +0200 mq: extract `mq.queue.strip`
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 14:07:37 +0200] rev 19819
mq: extract `mq.queue.strip` It does not depend on `mq.queue` anymore.
Wed, 25 Sep 2013 13:41:43 +0200 mq: drop the use of mq.queue.qparent in mq.queue.strip
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 13:41:43 +0200] rev 19818
mq: drop the use of mq.queue.qparent in mq.queue.strip Same as in the previous changeset, rev is never `None`. We can just copy the two relevant lines in in `queue.strip`. This help having `queue.strip` independent from `queue`. One further step toward the extraction of `strip` in an independent extension. (As discussed in issue3824).
Wed, 25 Sep 2013 14:10:34 +0200 mq: drop the use of mq.queue.qparent in mq.strip
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 14:10:34 +0200] rev 19817
mq: drop the use of mq.queue.qparent in mq.strip In this case, rev is never `None`. We can just copy the two relevant lines in in `strip`. This help having `strip` independent from `queue` one further step toward its extraction in an independent extension. (As discussed in issue3824).
Wed, 25 Sep 2013 19:34:45 +0200 mq: document repo.mq.qparents
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 19:34:45 +0200] rev 19816
mq: document repo.mq.qparents The function is not very complex but writing this doc helped me to check if I got everything right.
Wed, 25 Sep 2013 19:32:53 +0200 mq: use the new checklocalchange in the strip command
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 19:32:53 +0200] rev 19815
mq: use the new checklocalchange in the strip command The strip command never use the `refresh` argument. So we can use the function we just extracted.
Wed, 25 Sep 2013 12:43:14 +0200 mq: extract checklocalchanges from `mq.queue`
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 12:43:14 +0200] rev 19814
mq: extract checklocalchanges from `mq.queue` The core part of `checklocalchanges` is now mq independent. We can extract it in a standalone function to help the extraction of `strip` as discussed in issue3824. A `checklocalchanges` function stay in `mq.queue` with the part related to "refresh first" messages.
Wed, 25 Sep 2013 11:24:43 +0200 mq: extract checksubstate from the queue class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 11:24:43 +0200] rev 19813
mq: extract checksubstate from the queue class This function does not need any of the the `mq.queue` method or attributes. It is indirectly used by the `strip` command. We are trying to extract this command in a standalone extension as discussed in issue issue3824.
Wed, 25 Sep 2013 12:28:40 +0200 mq: simplifies the refresh hint in checklocalchanges
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Sep 2013 12:28:40 +0200] rev 19812
mq: simplifies the refresh hint in checklocalchanges The `checklocalchanges` function in the `mq.queue` class takes a `refresh` argument that changes the error message of raised exception. When refresh is `True` the exception message is "local changes found, refresh first" otherwise, the message is just "local changes found". This changeset is the first of a series that extract `strip` into a standalone extension (as discussed in issue3824). This `checklocalchanges` function is indirectly used by the strip command. But in a standalone strip extension the concept of "refresh first" has no sense. In practice, When used in the context of the strip commands `refresh`'s value is always `False`. So my final goal is a be able to extract the `checklocalchanges` logic in a standalone extension but to keep the part related to "refresh first" in the mq extension. However the refresh handling is deeply entangled into the `checklocalchanges` code. It is handled as low a possible at the point we raise the exception. So we moves handling of refresh upper in the `checklocalchanges` code. This will allow the extraction of a simple version in the strip extension while mq can still inject its logic when needed. Two helper functions `localchangesfound` and `localchangedsubreposfound` died in the process they are replaced by simple raise lines.
Fri, 06 Sep 2013 00:38:28 +0200 merge: let the user choose to merge, keep local or keep remote subrepo revisions
Angel Ezquerra <angel.ezquerra@gmail.com> [Fri, 06 Sep 2013 00:38:28 +0200] rev 19811
merge: let the user choose to merge, keep local or keep remote subrepo revisions When a subrepo has changed on the local and remote revisions, prompt the user whether it wants to merge those subrepo revisions, keep the local revision or keep the remote revision. Up until now mercurial would always perform a merge on a subrepo that had changed on the local and the remote revisions. This is often inconvenient. For example: - You may want to perform the actual subrepo merge after you have merged the parent subrepo files. - Some subrepos may be considered "read only", in the sense that you are not supposed to add new revisions to them. In those cases "merging a subrepo" means choosing which _existing_ revision you want to use on the merged revision. This is often the case for subrepos that contain binary dependencies (such as DLLs, etc). This new prompt makes mercurial better cope with those common scenarios. Notes: - The default behavior (which is the one that is used when ui is not interactive) remains unchanged (i.e. merge is the default action). - This prompt will be shown even if the ui --tool flag is set. - I don't know of a way to test the "keep local" and "keep remote" options (i.e. to force the test to choose those options). # HG changeset patch # User Angel Ezquerra <angel.ezquerra@gmail.com> # Date 1378420708 -7200 # Fri Sep 06 00:38:28 2013 +0200 # Node ID 2fb9cb0c7b26303ac3178b7739975e663075857d # Parent 50d721553198cea51c30f53b76d41dc919280097 merge: let the user choose to merge, keep local or keep remote subrepo revisions When a subrepo has changed on the local and remote revisions, prompt the user whether it wants to merge those subrepo revisions, keep the local revision or keep the remote revision. Up until now mercurial would always perform a merge on a subrepo that had changed on the local and the remote revisions. This is often inconvenient. For example: - You may want to perform the actual subrepo merge after you have merged the parent subrepo files. - Some subrepos may be considered "read only", in the sense that you are not supposed to add new revisions to them. In those cases "merging a subrepo" means choosing which _existing_ revision you want to use on the merged revision. This is often the case for subrepos that contain binary dependencies (such as DLLs, etc). This new prompt makes mercurial better cope with those common scenarios. Notes: - The default behavior (which is the one that is used when ui is not interactive) remains unchanged (i.e. merge is the default action). - This prompt will be shown even if the ui --tool flag is set. - I don't know of a way to test the "keep local" and "keep remote" options (i.e. to force the test to choose those options).
Tue, 24 Sep 2013 15:10:32 -0400 python2.4: fix imports of sub-packages of the email package
Augie Fackler <raf@durin42.com> [Tue, 24 Sep 2013 15:10:32 -0400] rev 19810
python2.4: fix imports of sub-packages of the email package These all have an obvious comment so if/when we finally ditch Python 2.4 we can eradicate them easily.
Fri, 20 Sep 2013 09:16:07 -0400 httpconnection: properly inject ssl_wrap_socket into httpclient (issue4038)
Augie Fackler <raf@durin42.com> [Fri, 20 Sep 2013 09:16:07 -0400] rev 19809
httpconnection: properly inject ssl_wrap_socket into httpclient (issue4038) This causes httpclient to use the same SSL settings as the rest of Mercurial, and adds an easy extension point for later modifications to our ssl handling.
Fri, 20 Sep 2013 09:15:43 -0400 sslutil: make keyfile and certfile arguments consistent between 2.6+ and 2.5-
Augie Fackler <raf@durin42.com> [Fri, 20 Sep 2013 09:15:43 -0400] rev 19808
sslutil: make keyfile and certfile arguments consistent between 2.6+ and 2.5-
Fri, 20 Sep 2013 09:15:09 -0400 httpclient: import 4bb625347d4a to provide SSL wrapper injection
Augie Fackler <raf@durin42.com> [Fri, 20 Sep 2013 09:15:09 -0400] rev 19807
httpclient: import 4bb625347d4a to provide SSL wrapper injection This lets us inject our own ssl.wrap_socket equivalent into httpclient, which means that any changes we make to our ssl handling can be *entirely* on our side without having to muck with httpclient, which sounds appealing. For example, an extension could wrap sslutil.ssl_wrap_socket with an api-compatible wrapper and then tweak SSL settings more precisely or use GnuTLS instead of OpenSSL.
Thu, 19 Sep 2013 16:29:00 -0400 sslutil: add a config knob to support TLS (default) or SSLv23 (bc) (issue4038)
Augie Fackler <raf@durin42.com> [Thu, 19 Sep 2013 16:29:00 -0400] rev 19806
sslutil: add a config knob to support TLS (default) or SSLv23 (bc) (issue4038) Prior to this change, we default to SSLv23, which is insecure because it allows use of SSLv2. Unfortunately, there's no constant for OpenSSL to let us use SSLv3 or TLS - we have to pick one or the other. We expose a knob to revert to pre-TLS SSL for the user that has an ancient server that lacks proper TLS support.
Mon, 23 Sep 2013 21:41:01 -0700 largefiles: standardize error message for dirty working dir
Siddharth Agarwal <sid0@fb.com> [Mon, 23 Sep 2013 21:41:01 -0700] rev 19805
largefiles: standardize error message for dirty working dir
Mon, 23 Sep 2013 21:31:37 -0700 cmdutil.bailifchanged: standardize error message for dirty working dir
Siddharth Agarwal <sid0@fb.com> [Mon, 23 Sep 2013 21:31:37 -0700] rev 19804
cmdutil.bailifchanged: standardize error message for dirty working dir This affects rebase, graft, histedit, and other similar commands.
Mon, 23 Sep 2013 20:53:14 -0700 merge: standardize error message for dirty subrepo
Siddharth Agarwal <sid0@fb.com> [Mon, 23 Sep 2013 20:53:14 -0700] rev 19803
merge: standardize error message for dirty subrepo
Mon, 23 Sep 2013 20:50:51 -0700 merge: standardize error message for dirty working dir
Siddharth Agarwal <sid0@fb.com> [Mon, 23 Sep 2013 20:50:51 -0700] rev 19802
merge: standardize error message for dirty working dir
Mon, 23 Sep 2013 20:33:02 -0700 update: standardize error message for dirty update --check
Siddharth Agarwal <sid0@fb.com> [Mon, 23 Sep 2013 20:33:02 -0700] rev 19801
update: standardize error message for dirty update --check This and following patches will standardize the error message for dirty working directories to "uncommitted changes".
Mon, 23 Sep 2013 20:08:52 -0700 update: improve error message for dirty non-linear update with rev
Siddharth Agarwal <sid0@fb.com> [Mon, 23 Sep 2013 20:08:52 -0700] rev 19800
update: improve error message for dirty non-linear update with rev
Mon, 23 Sep 2013 20:07:30 -0700 update: add error message for dirty non-linear update with no rev
Siddharth Agarwal <sid0@fb.com> [Mon, 23 Sep 2013 20:07:30 -0700] rev 19799
update: add error message for dirty non-linear update with no rev Previously, the error message for a dirty non-linear update was the same (and relatively unhelpful) whether or not a rev was specified. This patch and an upcoming one will introduce separate, more helpful hints.
Mon, 23 Sep 2013 17:43:33 -0700 update: improve error message for clean non-linear update
Siddharth Agarwal <sid0@fb.com> [Mon, 23 Sep 2013 17:43:33 -0700] rev 19798
update: improve error message for clean non-linear update
Mon, 23 Sep 2013 19:02:32 -0700 pull: for pull --update with failed update, print hint if any
Siddharth Agarwal <sid0@fb.com> [Mon, 23 Sep 2013 19:02:32 -0700] rev 19797
pull: for pull --update with failed update, print hint if any An upcoming patch will add a hint to the abort message, and we don't want to lose that here.
Fri, 06 Sep 2013 13:30:57 +0400 paper: edit search hint to include new feature description
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:57 +0400] rev 19796
paper: edit search hint to include new feature description
Thu, 25 Jul 2013 01:12:25 +0400 paper: define searchhint message in map file and use it in other templates
Alexander Plavin <alexander@plav.in> [Thu, 25 Jul 2013 01:12:25 +0400] rev 19795
paper: define searchhint message in map file and use it in other templates
Mon, 23 Sep 2013 14:28:01 -0700 debugshell: appease pyflakes
Matt Mackall <mpm@selenic.com> [Mon, 23 Sep 2013 14:28:01 -0700] rev 19794
debugshell: appease pyflakes
Fri, 20 Sep 2013 10:18:09 -0400 check-code: new rule to forbid imports of a.b on the same line as other imports
Augie Fackler <raf@durin42.com> [Fri, 20 Sep 2013 10:18:09 -0400] rev 19793
check-code: new rule to forbid imports of a.b on the same line as other imports This style of import can trip up 2to3 and cause it to produce invalid files if one of the imports is supposed to be a relative import. This prevents that behavior, and in the process exposed a lot of silly import errors related to the email module.
Fri, 20 Sep 2013 10:16:55 -0400 notify: correct import of email module, sort stdlib modules to top
Augie Fackler <raf@durin42.com> [Fri, 20 Sep 2013 10:16:55 -0400] rev 19792
notify: correct import of email module, sort stdlib modules to top
Fri, 20 Sep 2013 10:16:35 -0400 patchbomb: correct import of email module
Augie Fackler <raf@durin42.com> [Fri, 20 Sep 2013 10:16:35 -0400] rev 19791
patchbomb: correct import of email module
Fri, 20 Sep 2013 10:16:02 -0400 mail: correct import of email module
Augie Fackler <raf@durin42.com> [Fri, 20 Sep 2013 10:16:02 -0400] rev 19790
mail: correct import of email module
Fri, 20 Sep 2013 10:15:51 -0400 patch: correct import of email module
Augie Fackler <raf@durin42.com> [Fri, 20 Sep 2013 10:15:51 -0400] rev 19789
patch: correct import of email module
Fri, 20 Sep 2013 10:15:37 -0400 subrepo: move import of xml.minidom.dom to its own line for check-code
Augie Fackler <raf@durin42.com> [Fri, 20 Sep 2013 10:15:37 -0400] rev 19788
subrepo: move import of xml.minidom.dom to its own line for check-code
Fri, 20 Sep 2013 10:15:23 -0400 convert: move import of xml.minidom.dom to its own line for check-code
Augie Fackler <raf@durin42.com> [Fri, 20 Sep 2013 10:15:23 -0400] rev 19787
convert: move import of xml.minidom.dom to its own line for check-code
Fri, 20 Sep 2013 10:14:59 -0400 perf: rearrange imports of changelong and manifest to appease check-code
Augie Fackler <raf@durin42.com> [Fri, 20 Sep 2013 10:14:59 -0400] rev 19786
perf: rearrange imports of changelong and manifest to appease check-code
Mon, 23 Sep 2013 13:26:11 -0700 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 23 Sep 2013 13:26:11 -0700] rev 19785
merge with stable
Mon, 23 Sep 2013 13:22:28 -0700 tests: fix check-code breakage stable
Matt Mackall <mpm@selenic.com> [Mon, 23 Sep 2013 13:22:28 -0700] rev 19784
tests: fix check-code breakage
Sun, 22 Sep 2013 14:19:57 +0400 paper: add infinite scrolling to graph by calling ajaxScrollInit at the page
Alexander Plavin <alexander@plav.in> [Sun, 22 Sep 2013 14:19:57 +0400] rev 19783
paper: add infinite scrolling to graph by calling ajaxScrollInit at the page
Fri, 20 Sep 2013 00:42:13 +0400 hgweb: add graph mode of ajax response processing
Alexander Plavin <alexander@plav.in> [Fri, 20 Sep 2013 00:42:13 +0400] rev 19782
hgweb: add graph mode of ajax response processing While the default mode appends all the new entries to a container on the page, the graph mode resizes canvas correctly, and repaints the graph to include newly received data.
Sun, 22 Sep 2013 14:18:23 +0400 hgweb: make infinite scroll handling more generic and extensible
Alexander Plavin <alexander@plav.in> [Sun, 22 Sep 2013 14:18:23 +0400] rev 19781
hgweb: make infinite scroll handling more generic and extensible Namely, this allows the next page pointer to be not only revision hash given in page code, but also any value computed from the value for previous page.
Fri, 06 Sep 2013 13:30:59 +0400 hgweb: add reset javascript function to Graph
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:59 +0400] rev 19780
hgweb: add reset javascript function to Graph It makes the Graph object to be in the same state as just after the initialization. This will help to add infinite scrolling to graph view.
Sat, 21 Sep 2013 21:33:29 +0900 largefiles: setup "largefiles" feature in each repositories individually
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 21 Sep 2013 21:33:29 +0900] rev 19779
largefiles: setup "largefiles" feature in each repositories individually Before this patch, if largefiles extension is enabled once in any of target repositories, commands handling multiple repositories at a time like below misunderstand that "largefiles" feature is supported also in all other local repositories: - clone/pull from or push to localhost - recursive execution in subrepo tree This patch registers "featuresetup()" into "featuresetupfuncs" of "localrepository" to support "largefiles" features only in repositories enabling largefiles extension, instead of adding "largefiles" feature to class variable "_basesupported" of "localrepository". This patch also adds checking below to the largefiles specific class derived from "localrepository": - push to localhost: whether features supported in the local(= dst) repository satisfies ones required in the remote(= src) This can prevent useless looking up in the remote repository, when supported and required features are mismatched: "push()" of "localrepository" also checks it, but it is executed after looking up in the remote.
Sat, 21 Sep 2013 21:33:29 +0900 localrepo: make supported features manageable in each repositories individually
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 21 Sep 2013 21:33:29 +0900] rev 19778
localrepo: make supported features manageable in each repositories individually Before this patch, all localrepositories support same features, because supported features are managed by the class variable "supported" of "localrepository". For example, "largefiles" feature provided by largefiles extension is recognized as supported, by adding the feature name to "supported" of "localrepository". So, commands handling multiple repositories at a time like below misunderstand that such features are supported also in repositories not enabling corresponded extensions: - clone/pull from or push to localhost - recursive execution in subrepo tree "reposetup()" can't be used to fix this problem, because it is invoked after checking whether supported features satisfy ones required in the target repository. So, this patch adds the set object named as "featuresetupfuncs" to "localrepository" to manage hook functions to setup supported features of each repositories. If any functions are added to "featuresetupfuncs", they are invoked, and information about supported features is managed in each repositories individually. This patch also adds checking below: - pull from localhost: whether features supported in the local(= dst) repository satisfies ones required in the remote(= src) - push to localhost: whether features supported in the remote(= dst) repository satisfies ones required in the local(= src) Managing supported features by the class variable means that there is no difference of supported features between each instances of "localrepository" in the same Python process, so such checking is not needed before this patch. Even with this patch, if intermediate bundlefile is used as pulling source, pulling indirectly from the remote repository, which requires features more than ones supported in the local, can't be prevented, because bundlefile has no information about "required features" in it.
Sat, 21 Sep 2013 21:33:29 +0900 extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 21 Sep 2013 21:33:29 +0900] rev 19777
extensions: list up only enabled extensions, if "ui" is specified Before this patch, "extensions.extensions()" always lists up all loaded extensions. So, commands handling multiple repositories at a time like below enable extensions unexpectedly. - clone from or push to localhost: extensions enabled only in the source are enabled also in the destination - pull from localhost: extensions enabled only in the destination are enabled also in the source - recursive execution in subrepo tree: extensions enabled only in the parent or some of siblings in the tree are enabled also in others In addition to it, extensions disabled locally may be enabled unexpectedly. This patch checks whether each of extensions should be listed up or not, if "ui" is specified to "extensions.extensions()", and invokes "reposetup()" of each extensions only for repositories enabling it.
Mon, 23 Sep 2013 11:37:06 -0700 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 23 Sep 2013 11:37:06 -0700] rev 19776
merge with stable
Fri, 20 Sep 2013 15:26:30 -0700 largefiles: remove bailifchanged check from overridepull (BC)
Siddharth Agarwal <sid0@fb.com> [Fri, 20 Sep 2013 15:26:30 -0700] rev 19775
largefiles: remove bailifchanged check from overridepull (BC) This brings pull --rebase with largefiles in line with pull --rebase without.
Fri, 20 Sep 2013 16:32:05 -0700 rebase: remove bailifchanged check from pullrebase (BC)
Siddharth Agarwal <sid0@fb.com> [Fri, 20 Sep 2013 16:32:05 -0700] rev 19774
rebase: remove bailifchanged check from pullrebase (BC) This saves us a relatively superfluous status check for pull --rebase (if rebase runs, it'll check for a clean working directory anyway), and brings hg pull --rebase closer to hg pull && hg rebase. This is a behavior change because pull --rebase with a dirty working directory will now abort after performing the pull rather than before.
Sun, 14 Jul 2013 12:16:40 -0500 debugshell: check ui.debugger for which debugger to use
Sean Farley <sean.michael.farley@gmail.com> [Sun, 14 Jul 2013 12:16:40 -0500] rev 19773
debugshell: check ui.debugger for which debugger to use
Sun, 14 Jul 2013 12:02:36 -0500 debugshell: add function to embed ipython
Sean Farley <sean.michael.farley@gmail.com> [Sun, 14 Jul 2013 12:02:36 -0500] rev 19772
debugshell: add function to embed ipython
Sun, 14 Jul 2013 12:10:52 -0500 debugshell: abstract out pdb code.interact
Sean Farley <sean.michael.farley@gmail.com> [Sun, 14 Jul 2013 12:10:52 -0500] rev 19771
debugshell: abstract out pdb code.interact
Sun, 22 Sep 2013 13:52:18 +0400 templater: support using templates with non-standard names from map file
Alexander Plavin <alexander@plav.in> [Sun, 22 Sep 2013 13:52:18 +0400] rev 19770
templater: support using templates with non-standard names from map file Allow to add arbitrarily-named entries to a template map file and then reference them, to make it possible to deduplicate and simplify templates code.
Mon, 23 Sep 2013 20:23:25 +0900 help: use full name of extensions to look up them for keyword search stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 23 Sep 2013 20:23:25 +0900] rev 19769
help: use full name of extensions to look up them for keyword search Before this patch, "hg help -k KEYWORD" fails, if there is the extension of which name includes ".", because "extensions.load()" invoked from "help.topicmatch()" fails to look such extension up, even though it is already loaded in. "help.topicmatch()" invokes "extensions.load()" with the name gotten from "extensions.enabled()". The former expects full name of extension (= key in '[extensions]' section), but the latter returns names shortened by "split('.')[-1]". This difference causes failure of looking extension up. This patch adds "shortname" argument to "extensions.enabled()" to make it return shortened names only if it is True. "help.topicmatch()" turns it off to get full name of extensions. Then, this patch shortens full name of extensions by "split('.')[-1]" for showing them in the list of extensions. Shortening is also applied on names gotten from "extensions.disabled()" but harmless, because it returns only extensions directly under "hgext" and their names should not include ".".
Fri, 06 Sep 2013 13:30:56 +0400 hgweb: add link to force literal keyword search
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:56 +0400] rev 19768
hgweb: add link to force literal keyword search This makes it possible to make keyword search in case the search query also specifies an exact revision (like '1234' or 'abcdef'), or a revset expression.
Fri, 06 Sep 2013 13:30:56 +0400 raw: show current search mode name at search results
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:56 +0400] rev 19767
raw: show current search mode name at search results
Fri, 06 Sep 2013 13:30:56 +0400 paper: show current search mode name at search results
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:56 +0400] rev 19766
paper: show current search mode name at search results
Fri, 06 Sep 2013 13:30:56 +0400 hgweb: pass variable with current search mode name to the search template
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:56 +0400] rev 19765
hgweb: pass variable with current search mode name to the search template
Fri, 20 Sep 2013 10:45:51 -0700 generaldelta: initialize basecache properly stable
Wojciech Lopata <lopek@fb.com> [Fri, 20 Sep 2013 10:45:51 -0700] rev 19764
generaldelta: initialize basecache properly Previously basecache was incorrectly initialized before adding the first revision from a changegroup. Basecache value influences when full revisions are stored in revlog (when using generaldelta). As a result it was possible to generate a generaldelta-revlog that could be bigger by arbitrary factor than its non-generaldelta equivalent.
Fri, 20 Sep 2013 11:47:03 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 20 Sep 2013 11:47:03 -0500] rev 19763
merge with stable
Fri, 06 Sep 2013 13:30:58 +0400 paper: add reddish background to ajax error message
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19762
paper: add reddish background to ajax error message
Fri, 06 Sep 2013 13:30:58 +0400 paper: add simple animation to the loading indicator
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19761
paper: add simple animation to the loading indicator
Fri, 06 Sep 2013 13:30:58 +0400 hgweb: add CSS class to the last entry on a page
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19760
hgweb: add CSS class to the last entry on a page The entry which was last before an ajax load now has a specific CSS class for easier styling.
Thu, 19 Sep 2013 15:29:28 -0400 run-tests: find mercurial path with syntax valid on both py2 and py3
Augie Fackler <raf@durin42.com> [Thu, 19 Sep 2013 15:29:28 -0400] rev 19759
run-tests: find mercurial path with syntax valid on both py2 and py3
Thu, 19 Sep 2013 15:29:04 -0400 run-tests: if run by python3, execute setup.py with --c2to3
Augie Fackler <raf@durin42.com> [Thu, 19 Sep 2013 15:29:04 -0400] rev 19758
run-tests: if run by python3, execute setup.py with --c2to3
Thu, 19 Sep 2013 15:28:26 -0400 commands: import hgweb.server in a way that 2to3 can rewrite
Augie Fackler <raf@durin42.com> [Thu, 19 Sep 2013 15:28:26 -0400] rev 19757
commands: import hgweb.server in a way that 2to3 can rewrite
Fri, 06 Sep 2013 13:30:58 +0400 hgweb: show message when an error occured during ajax loading
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19756
hgweb: show message when an error occured during ajax loading
Fri, 06 Sep 2013 13:30:58 +0400 hgweb: show loading indicator while an ajax request is in process
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19755
hgweb: show loading indicator while an ajax request is in process
Fri, 06 Sep 2013 13:30:58 +0400 hgweb: show a message when there are no more entries in the list
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19754
hgweb: show a message when there are no more entries in the list
Thu, 19 Sep 2013 09:45:00 -0700 util.h: fix gcc version checking
Siddharth Agarwal <sid0@fb.com> [Thu, 19 Sep 2013 09:45:00 -0700] rev 19753
util.h: fix gcc version checking gcc doesn't have a predefined GCC_VERSION macro.
Mon, 16 Sep 2013 01:08:29 -0700 mq: remove unused repo._committingpatch-related code
Brodie Rao <brodie@sf.io> [Mon, 16 Sep 2013 01:08:29 -0700] rev 19752
mq: remove unused repo._committingpatch-related code This was introduced in 20ad8f0512a2 but its usage was removed in 46cc3b74e1c5.
Sat, 07 Sep 2013 15:07:10 -0500 strip: set current bookmark to None if stripped stable
Sean Farley <sean.michael.farley@gmail.com> [Sat, 07 Sep 2013 15:07:10 -0500] rev 19751
strip: set current bookmark to None if stripped
Wed, 18 Sep 2013 14:52:16 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 18 Sep 2013 14:52:16 -0500] rev 19750
merge with stable
Wed, 18 Sep 2013 14:40:17 -0400 sslutil: backed out changeset 074bd02352c0 (issue4038) stable
Augie Fackler <raf@durin42.com> [Wed, 18 Sep 2013 14:40:17 -0400] rev 19749
sslutil: backed out changeset 074bd02352c0 (issue4038) Python docs are a little unclear, but mpm reports reading the OpenSSL source code shows that PROTOCOL_SSLv23 allows TLS whereas PROTOCOL_SSLv3 does not.
Wed, 18 Sep 2013 14:45:28 -0400 httpclient: apply upstream revision da7579b034a4 to fix SSL problems (issue4038) stable
Augie Fackler <raf@durin42.com> [Wed, 18 Sep 2013 14:45:28 -0400] rev 19748
httpclient: apply upstream revision da7579b034a4 to fix SSL problems (issue4038)
Fri, 06 Sep 2013 13:30:57 +0400 paper: call ajaxScrollInit in shortlog
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:57 +0400] rev 19747
paper: call ajaxScrollInit in shortlog This just calls ajaxScrollInit at the shortlog page template with all needed agruments. So, infinite scrolling is working now there.
Wed, 18 Sep 2013 22:44:12 +0400 hgweb: add ajaxScrollInit function, which does the ajax requests and processing
Alexander Plavin <alexander@plav.in> [Wed, 18 Sep 2013 22:44:12 +0400] rev 19746
hgweb: add ajaxScrollInit function, which does the ajax requests and processing This function should be correctly called on a page, otherwise there is no effect. When called, it makes ajax requests for the next portion of changesets when the user scrolls to the end. Also, when the monitor is high so that the default amount of changesets isn't enough to fill it, multiple portions are loaded if needed after the page load.
Wed, 18 Sep 2013 14:36:19 -0500 check-code: add bracket style check
Matt Mackall <mpm@selenic.com> [Wed, 18 Sep 2013 14:36:19 -0500] rev 19745
check-code: add bracket style check
Sat, 14 Sep 2013 11:22:34 +0800 util.h: getbe32() and putbe32() use intrinsic function to improve performance
Wei, Elson <elson.wei@gmail.com> [Sat, 14 Sep 2013 11:22:34 +0800] rev 19744
util.h: getbe32() and putbe32() use intrinsic function to improve performance Refer to https://bugzilla.mozilla.org/show_bug.cgi?id=351557. It can improve byte-swapping performance by intrinsic function.
Fri, 06 Sep 2013 13:30:58 +0400 hgweb: add appendFormatHTML javascript function
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19743
hgweb: add appendFormatHTML javascript function This is a convenient helper function to append some formatted HTML markup to a DOM element.
Fri, 06 Sep 2013 13:30:58 +0400 hgweb: add removeByClassName javascript function
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:58 +0400] rev 19742
hgweb: add removeByClassName javascript function It removes all elements with specified class name from the document.
Fri, 06 Sep 2013 13:30:57 +0400 hgweb: add docFromHTML javascript function
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:57 +0400] rev 19741
hgweb: add docFromHTML javascript function It takes a string with HTML markup and creates DOM document from it. The implementation is a part of code from https://developer.mozilla.org/en-US/docs/Web/API/DOMParser#DOMParser_HTML_extension_for_other_browsers
Fri, 06 Sep 2013 13:30:57 +0400 hgweb: add makeRequest javascript function
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:57 +0400] rev 19740
hgweb: add makeRequest javascript function This function performs an asynchronous HTTP request and calls provided callbacks: - onstart: request is sent - onsuccess: response is received - onerror: some error occured - oncomplete: response is fully processed and all other callbacks finished
Fri, 06 Sep 2013 13:30:57 +0400 hgweb: add format javascript function
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:57 +0400] rev 19739
hgweb: add format javascript function It replaces placeholders like '%key%' with replacement values given.
Fri, 06 Sep 2013 13:30:57 +0400 hgweb: add nextentry variable for easy pagination in changelog
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:57 +0400] rev 19738
hgweb: add nextentry variable for easy pagination in changelog nextentry always contains the first entry not shown on current page (if there is such entry)
Fri, 06 Sep 2013 13:30:57 +0400 hgweb: always compute all entries and latestentry in changelog
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:57 +0400] rev 19737
hgweb: always compute all entries and latestentry in changelog Get the whole list of entries before rendering instead of using lazy evaluation. This doesn't affect the performance for usual case when the entries are shown anyway. When both entries and latestentry are used, this performs unnoticeably faster, and for pages which use only latestentry (quite uncommon case) it would be a bit slower. This change will make it possible to get the first entry of the next page easily without computing the list twice.
Tue, 17 Sep 2013 17:42:13 +0200 templatefilters: add short format for age formatting
David Soria Parra <dsp@experimentalworks.net> [Tue, 17 Sep 2013 17:42:13 +0200] rev 19736
templatefilters: add short format for age formatting Implements a short output format for ages e.g. "1 second ago" is abbrevated as "1s ago".
Fri, 06 Sep 2013 13:30:57 +0400 hgweb: remove unused argument of changelist function in changelog
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:57 +0400] rev 19735
hgweb: remove unused argument of changelist function in changelog This doesn't change the behavior as the argument isn't used anyway, and it's a preparation to the next patches,
Tue, 17 Sep 2013 23:34:57 -0500 context: move evolution functions from changectx to basectx
Sean Farley <sean.michael.farley@gmail.com> [Tue, 17 Sep 2013 23:34:57 -0500] rev 19734
context: move evolution functions from changectx to basectx This is just a code move and corrects an overlook from my previous patch series that assumed only a changectx would want this functionality.
Tue, 17 Sep 2013 18:34:45 -0500 context: use correct spelling of committable
Sean Farley <sean.michael.farley@gmail.com> [Tue, 17 Sep 2013 18:34:45 -0500] rev 19733
context: use correct spelling of committable
Tue, 17 Sep 2013 18:19:04 -0500 check-code: check C patterns against .h files
Matt Mackall <mpm@selenic.com> [Tue, 17 Sep 2013 18:19:04 -0500] rev 19732
check-code: check C patterns against .h files
Tue, 17 Sep 2013 18:13:54 -0500 check-code: make casting style check more precise
Matt Mackall <mpm@selenic.com> [Tue, 17 Sep 2013 18:13:54 -0500] rev 19731
check-code: make casting style check more precise
Tue, 10 Sep 2013 19:49:34 -0700 log: make file log slow path usable on large repos
Durham Goode <durham@fb.com> [Tue, 10 Sep 2013 19:49:34 -0700] rev 19730
log: make file log slow path usable on large repos Running "hg log <pattern or directory>" on large repos took a very, very long time because it first read ctx.files() for every commit before even starting to process the results. This change makes the ctx.files() check lazy, which makes the command start producing results immediately.
Fri, 13 Sep 2013 15:40:04 -0500 plan9: update util.py for cpython 2.7 build
Jeff Sickel <jas@corpus-callosum.com> [Fri, 13 Sep 2013 15:40:04 -0500] rev 19729
plan9: update util.py for cpython 2.7 build
Fri, 06 Sep 2013 23:47:59 -0700 parse_manifest: rewrite to use memchr
Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 23:47:59 -0700] rev 19728
parse_manifest: rewrite to use memchr memchr is usually smarter than a simple for loop. With gcc 4.4.6 and glibc 2.12 on x86-64, for a 20 MB, 200,000 file manifest, parse_manifest goes from 0.116 seconds to 0.095 seconds.
Mon, 16 Sep 2013 12:17:55 -0700 parsers: correctly handle a failed allocation
Bryan O'Sullivan <bryano@fb.com> [Mon, 16 Sep 2013 12:17:55 -0700] rev 19727
parsers: correctly handle a failed allocation
Mon, 16 Sep 2013 12:12:37 -0700 parsers: use Py_INCREF safely
Bryan O'Sullivan <bryano@fb.com> [Mon, 16 Sep 2013 12:12:37 -0700] rev 19726
parsers: use Py_INCREF safely
Mon, 16 Sep 2013 12:10:28 -0700 parsers: state is a char, not an int
Bryan O'Sullivan <bryano@fb.com> [Mon, 16 Sep 2013 12:10:28 -0700] rev 19725
parsers: state is a char, not an int
Fri, 13 Sep 2013 10:00:57 +0800 setup: check if mercurial/util.h has been modified
Wei, Elson <elson.wei@gmail.com> [Fri, 13 Sep 2013 10:00:57 +0800] rev 19724
setup: check if mercurial/util.h has been modified Before, if mercurial/util.h was modified but *.c wasn't, no extension was rebuilt.
Fri, 13 Sep 2013 09:54:43 +0800 util.h: add stdint basic type definitions
Wei, Elson <elson.wei@gmail.com> [Fri, 13 Sep 2013 09:54:43 +0800] rev 19723
util.h: add stdint basic type definitions MS C compiler v15 doesn't have stdint.h. Add basic int types those are defined in stdint.h.
Fri, 06 Sep 2013 13:30:56 +0400 hgweb: add revset syntax support to search
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:56 +0400] rev 19722
hgweb: add revset syntax support to search This mode is used when all the conditions are met: - 'reverse(%s)' % query string can be parsed to a revset tree - this tree has depth more than two, i.e. the query has some part of revset syntax used - the repo can be actually matched against this tree, i.e. it has only existent function/operators and revisions/tags/bookmarks specified are correct - no revset regexes are used in the query (strings which start with 're:') - only functions explicitly marked as safe in revset.py are used in the query Add several new tests for different parsing conditions and exception handling.
Fri, 06 Sep 2013 13:30:56 +0400 revset: add a whitelist of DoS-safe symbols
Alexander Plavin <alexander@plav.in> [Fri, 06 Sep 2013 13:30:56 +0400] rev 19721
revset: add a whitelist of DoS-safe symbols 'Safe' here means that they can't be used for a DoS attack for any given input.
Wed, 07 Aug 2013 01:21:31 +0400 revset: add helper function to get functions used in a revset parse tree
Alexander Plavin <alexander@plav.in> [Wed, 07 Aug 2013 01:21:31 +0400] rev 19720
revset: add helper function to get functions used in a revset parse tree Will be used to determine whether all functions used in a hgweb search query are allowed there.
Fri, 09 Aug 2013 22:52:58 +0400 revset: add helper function to get revset parse tree depth
Alexander Plavin <alexander@plav.in> [Fri, 09 Aug 2013 22:52:58 +0400] rev 19719
revset: add helper function to get revset parse tree depth Will be used to determine if a hgweb search query actually uses any revset syntax.
Sat, 07 Sep 2013 00:59:24 -0700 parsers: use a lookup table to convert hex to binary
Siddharth Agarwal <sid0@fb.com> [Sat, 07 Sep 2013 00:59:24 -0700] rev 19718
parsers: use a lookup table to convert hex to binary This is a hotspot for parse_manifest. With this patch, for a 20 MB, 200,000 file manifest, parse_manifest goes down from 0.153 seconds to 0.116.
Fri, 06 Sep 2013 23:05:33 -0700 revlog: remove _chunkbase since it is no longer used
Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 23:05:33 -0700] rev 19717
revlog: remove _chunkbase since it is no longer used This was introduced in 2011 for the lwcopy feature but never actually got used. A similar hook can easily be reintroduced if needed in the future.
Fri, 06 Sep 2013 23:05:11 -0700 revlog: move chunk cache preload from revision to _chunks
Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 23:05:11 -0700] rev 19716
revlog: move chunk cache preload from revision to _chunks In case we don't have a cached text already, add the base rev to the list passed to _chunks. In the cached case this also avoids unnecessarily preloading the chunk for the cached rev.
Fri, 06 Sep 2013 22:57:51 -0700 revlog._chunks: inline getchunk
Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 22:57:51 -0700] rev 19715
revlog._chunks: inline getchunk We do this in a somewhat hacky way, relying on the fact that our sole caller preloads the cache right before calling us. An upcoming patch will make this more sensible. For a 20 MB manifest with a delta chain of > 40k, perfmanifest goes from 0.49 seconds to 0.46.
Sat, 07 Sep 2013 12:42:46 -0700 revlog.revision: fix cache preload for inline revlogs
Siddharth Agarwal <sid0@fb.com> [Sat, 07 Sep 2013 12:42:46 -0700] rev 19714
revlog.revision: fix cache preload for inline revlogs Previously the length of data preloaded did not account for the interleaved io contents. This meant that we'd sometimes have cache misses in _chunks despite the preloading. Having a correctly filled out cache will become essential in an upcoming patch.
Fri, 06 Sep 2013 16:31:35 -0700 revlog: add a fast method for getting a list of chunks
Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 16:31:35 -0700] rev 19713
revlog: add a fast method for getting a list of chunks This moves _chunkraw into the loop. Doing that improves revlog decompression -- in particular, manifest decompression -- significantly. For a 20 MB manifest which is the result of a > 40k delta chain, hg perfmanifest improves from 0.55 seconds to 0.49 seconds.
Fri, 06 Sep 2013 13:35:29 -0700 perfmanifest: allow and require passing in a rev
Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 13:35:29 -0700] rev 19712
perfmanifest: allow and require passing in a rev Previously perfmanifest would only test tip.
Fri, 06 Sep 2013 13:20:07 -0700 perfmanifest: fix cache invalidation
Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 13:20:07 -0700] rev 19711
perfmanifest: fix cache invalidation The manifest cache is now stored in _mancache. The revlog cache is still stored in _cache.
Fri, 06 Sep 2013 13:16:21 -0700 lrucachedict: implement clear()
Siddharth Agarwal <sid0@fb.com> [Fri, 06 Sep 2013 13:16:21 -0700] rev 19710
lrucachedict: implement clear()
Sat, 07 Sep 2013 16:08:11 -0500 merge with stable
Kevin Bullock <kbullock@ringworld.org> [Sat, 07 Sep 2013 16:08:11 -0500] rev 19709
merge with stable
Sat, 07 Sep 2013 21:20:00 +0200 bundle: fix performance regression when bundling file changes (issue4031) stable
Antoine Pitrou <solipsis@pitrou.net> [Sat, 07 Sep 2013 21:20:00 +0200] rev 19708
bundle: fix performance regression when bundling file changes (issue4031) Somewhere before 2.7, a change [ec896f9e8894] was committed that entailed a large performance regression when bundling (and therefore remote cloning) repositories. For each file in the repository, it would recompute the set of needed changesets even though it is the same for all files. This computation would dominate bundle runtimes according to profiler output (by 10x or more).
Sat, 07 Sep 2013 00:08:36 -0500 merge with stable
Kevin Bullock <kbullock@ringworld.org> [Sat, 07 Sep 2013 00:08:36 -0500] rev 19707
merge with stable
Tue, 06 Aug 2013 00:52:06 +0400 revset: fix wrong keyword() behaviour for strings with spaces stable
Alexander Plavin <alexander@plav.in> [Tue, 06 Aug 2013 00:52:06 +0400] rev 19706
revset: fix wrong keyword() behaviour for strings with spaces Some changesets can be wrongly reported as matched by this predicate due to searching in a string joined with spaces and not individually. A test case added, which fails without this fix.
Thu, 15 Aug 2013 13:42:56 -0500 commitablefilectx: move children from workingfilectx
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:42:56 -0500] rev 19705
commitablefilectx: move children from workingfilectx
Thu, 15 Aug 2013 13:42:33 -0500 commitablefilectx: move parents from workingfilectx
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:42:33 -0500] rev 19704
commitablefilectx: move parents from workingfilectx
Thu, 15 Aug 2013 13:23:06 -0500 commitablefilectx: move __nonzero__ from workingfilectx
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:23:06 -0500] rev 19703
commitablefilectx: move __nonzero__ from workingfilectx
Thu, 15 Aug 2013 13:12:50 -0500 commitablefilectx: move __init__ from workingfilectx
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:12:50 -0500] rev 19702
commitablefilectx: move __init__ from workingfilectx
Thu, 15 Aug 2013 13:11:51 -0500 commitablefilectx: add a class that will be used for mutable file contexts
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:11:51 -0500] rev 19701
commitablefilectx: add a class that will be used for mutable file contexts Just like commitablectx, this will serve as a common place for code that will be shared between workingfilectx and memfilectx.
Wed, 14 Aug 2013 16:40:34 -0500 commitablectx: move dirs from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:40:34 -0500] rev 19700
commitablectx: move dirs from workingctx
Wed, 14 Aug 2013 16:40:27 -0500 commitablectx: move markcommitted from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:40:27 -0500] rev 19699
commitablectx: move markcommitted from workingctx
Wed, 14 Aug 2013 16:37:59 -0500 commitablectx: move ancestors from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:37:59 -0500] rev 19698
commitablectx: move ancestors from workingctx
Wed, 14 Aug 2013 16:37:11 -0500 commitablectx: move walk from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:37:11 -0500] rev 19697
commitablectx: move walk from workingctx
Wed, 14 Aug 2013 16:37:01 -0500 commitablectx: move ancestor from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:37:01 -0500] rev 19696
commitablectx: move ancestor from workingctx
Wed, 14 Aug 2013 16:25:43 -0500 commitablectx: move flags from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:25:43 -0500] rev 19695
commitablectx: move flags from workingctx
Wed, 14 Aug 2013 16:25:26 -0500 commitablectx: move children from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:25:26 -0500] rev 19694
commitablectx: move children from workingctx
Wed, 14 Aug 2013 16:25:17 -0500 commitablectx: move hidden from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:25:17 -0500] rev 19693
commitablectx: move hidden from workingctx
Wed, 14 Aug 2013 16:24:59 -0500 commitablectx: move phase from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:24:59 -0500] rev 19692
commitablectx: move phase from workingctx
Wed, 14 Aug 2013 16:24:33 -0500 commitablectx: move bookmarks from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:24:33 -0500] rev 19691
commitablectx: move bookmarks from workingctx
Wed, 14 Aug 2013 16:24:16 -0500 commitablectx: move tags from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:24:16 -0500] rev 19690
commitablectx: move tags from workingctx
Wed, 14 Aug 2013 16:23:28 -0500 commitablectx: move extra from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:23:28 -0500] rev 19689
commitablectx: move extra from workingctx
Wed, 14 Aug 2013 16:23:16 -0500 commitablectx: move closesbranch from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:23:16 -0500] rev 19688
commitablectx: move closesbranch from workingctx
Wed, 14 Aug 2013 16:23:02 -0500 commitablectx: move branch from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:23:02 -0500] rev 19687
commitablectx: move branch from workingctx
Wed, 14 Aug 2013 16:22:42 -0500 commitablectx: move clean from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:22:42 -0500] rev 19686
commitablectx: move clean from workingctx
Wed, 14 Aug 2013 16:22:32 -0500 commitablectx: move ignored from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:22:32 -0500] rev 19685
commitablectx: move ignored from workingctx
Wed, 14 Aug 2013 16:22:20 -0500 commitablectx: move unknown from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:22:20 -0500] rev 19684
commitablectx: move unknown from workingctx
Wed, 14 Aug 2013 16:21:55 -0500 commitablectx: move deleted from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:21:55 -0500] rev 19683
commitablectx: move deleted from workingctx
Wed, 14 Aug 2013 16:15:29 -0500 commitablectx: move removed from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:15:29 -0500] rev 19682
commitablectx: move removed from workingctx
Wed, 14 Aug 2013 16:15:18 -0500 commitablectx: move added from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:15:18 -0500] rev 19681
commitablectx: move added from workingctx
Wed, 14 Aug 2013 16:14:58 -0500 commitablectx: move modified from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:14:58 -0500] rev 19680
commitablectx: move modified from workingctx
Wed, 14 Aug 2013 16:09:45 -0500 commitablectx: move files from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:09:45 -0500] rev 19679
commitablectx: move files from workingctx
Wed, 14 Aug 2013 16:09:30 -0500 commitablectx: move description from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:09:30 -0500] rev 19678
commitablectx: move description from workingctx
Wed, 14 Aug 2013 16:03:32 -0500 commitablectx: move date from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 16:03:32 -0500] rev 19677
commitablectx: move date from workingctx
Thu, 15 Aug 2013 10:57:43 -0500 commitablectx: move _date from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 10:57:43 -0500] rev 19676
commitablectx: move _date from workingctx
Wed, 14 Aug 2013 15:57:24 -0500 commitablectx: move user from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:57:24 -0500] rev 19675
commitablectx: move user from workingctx
Thu, 15 Aug 2013 10:51:53 -0500 commitablectx: move _user from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 10:51:53 -0500] rev 19674
commitablectx: move _user from workingctx
Wed, 14 Aug 2013 15:55:56 -0500 commitablectx: move status from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:55:56 -0500] rev 19673
commitablectx: move status from workingctx
Wed, 14 Aug 2013 15:41:22 -0500 commitablectx: move _status from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:41:22 -0500] rev 19672
commitablectx: move _status from workingctx
Wed, 14 Aug 2013 15:34:18 -0500 commitablectx: move _manifest from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:34:18 -0500] rev 19671
commitablectx: move _manifest from workingctx
Wed, 14 Aug 2013 15:30:17 -0500 commitablectx: move _flagfunc from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:30:17 -0500] rev 19670
commitablectx: move _flagfunc from workingctx
Wed, 14 Aug 2013 15:29:48 -0500 commitablectx: move _buildflagfunc from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:29:48 -0500] rev 19669
commitablectx: move _buildflagfunc from workingctx
Wed, 14 Aug 2013 15:29:09 -0500 commitablectx: move __contains__ from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:29:09 -0500] rev 19668
commitablectx: move __contains__ from workingctx
Wed, 14 Aug 2013 15:28:43 -0500 commitablectx: move __nonzero__ from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:28:43 -0500] rev 19667
commitablectx: move __nonzero__ from workingctx
Wed, 14 Aug 2013 15:25:14 -0500 commitablectx: move __str__ from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:25:14 -0500] rev 19666
commitablectx: move __str__ from workingctx
Wed, 14 Aug 2013 15:24:58 -0500 commitablectx: move __init__ from workingctx
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:24:58 -0500] rev 19665
commitablectx: move __init__ from workingctx
Wed, 14 Aug 2013 15:02:08 -0500 commitablectx: add a class that will be used as a parent of mutable contexts
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 15:02:08 -0500] rev 19664
commitablectx: add a class that will be used as a parent of mutable contexts Currently, we have basectx that serves as a common ancestor of all contexts. We will now add a new class commitablectx that will inherit from basectx and will serve as a common place for code that will be shared between mutable contexts, e.g. workingctx and memctx.
Wed, 14 Aug 2013 13:32:56 -0500 workingfilectx: remove unneeded __repr__ since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 13:32:56 -0500] rev 19663
workingfilectx: remove unneeded __repr__ since it is now inherited
Thu, 15 Aug 2013 13:09:34 -0500 workingfilectx: remove bogus comment
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:09:34 -0500] rev 19662
workingfilectx: remove bogus comment
Thu, 15 Aug 2013 13:32:07 -0500 workingfilectx: remove __str__ manifest since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:32:07 -0500] rev 19661
workingfilectx: remove __str__ manifest since it is now inherited
Thu, 15 Aug 2013 13:31:17 -0500 basefilectx: use basectx __str__ instead of duplicating logic
Sean Farley <sean.michael.farley@gmail.com> [Thu, 15 Aug 2013 13:31:17 -0500] rev 19660
basefilectx: use basectx __str__ instead of duplicating logic This change allows us to only rely on one place to convert a context to a string which will help eliminate duplicate code in context.py
Wed, 14 Aug 2013 13:41:09 -0500 workingctx: remove unneeded manifest since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 13:41:09 -0500] rev 19659
workingctx: remove unneeded manifest since it is now inherited
Wed, 14 Aug 2013 13:32:44 -0500 workingctx: remove unneeded __repr__ since it is now inherited
Sean Farley <sean.michael.farley@gmail.com> [Wed, 14 Aug 2013 13:32:44 -0500] rev 19658
workingctx: remove unneeded __repr__ since it is now inherited
Tue, 03 Sep 2013 20:02:53 +0400 hgweb: import the whole util module in webcommands instead of just one function
Alexander Plavin <alexander@plav.in> [Tue, 03 Sep 2013 20:02:53 +0400] rev 19657
hgweb: import the whole util module in webcommands instead of just one function This is to allow using other functions from this module easily.
Wed, 04 Sep 2013 19:40:04 +0400 hgweb: add string constants for search mode names
Alexander Plavin <alexander@plav.in> [Wed, 04 Sep 2013 19:40:04 +0400] rev 19656
hgweb: add string constants for search mode names It helps detecting mistakes in the mode names.
Wed, 04 Sep 2013 18:42:55 -0700 addremove: don't do full walks
Siddharth Agarwal <sid0@fb.com> [Wed, 04 Sep 2013 18:42:55 -0700] rev 19655
addremove: don't do full walks Full walks are only necessary when the caller needs the list of clean files. addremove by definition doesn't need them. With this patch and an extension that produces a subset of results for dirstate.walk when full is False, on a repository with over 200,000 files, hg addremove drops from 2.8 seconds to 0.5.
Thu, 05 Sep 2013 11:45:27 -0400 merge with mpm
Augie Fackler <raf@durin42.com> [Thu, 05 Sep 2013 11:45:27 -0400] rev 19654
merge with mpm
Tue, 03 Sep 2013 17:06:19 -0400 merge with mpm
Augie Fackler <raf@durin42.com> [Tue, 03 Sep 2013 17:06:19 -0400] rev 19653
merge with mpm
Sat, 17 Aug 2013 20:48:49 -0700 pack_dirstate: only invalidate mtime for files written in the last second
Siddharth Agarwal <sid0@fb.com> [Sat, 17 Aug 2013 20:48:49 -0700] rev 19652
pack_dirstate: only invalidate mtime for files written in the last second Previously we'd place files written in the last second in the lookup set. This can lead to pathological cases where a file always remains in the lookup set if it gets modified before the next time status is run. With this patch, only the mtime of those files is invalidated. This means that if a file's size or mode changes, we can immediately declare it as modified without needing to compare file contents.
Sat, 31 Aug 2013 10:20:15 -0700 dirstate.status: don't ignore symlink placeholders in the normal set
Siddharth Agarwal <sid0@fb.com> [Sat, 31 Aug 2013 10:20:15 -0700] rev 19651
dirstate.status: don't ignore symlink placeholders in the normal set On Windows, there are two ways symlinks can manifest themselves: 1. As placeholders: text files containing the symlink's target. This is what usually happens with fresh clones on Windows. 2. With their dereferenced contents. This happens with clones accessed over NFS or Samba. In order to handle case 2, ca6cebd8734e made dirstate.status ignore all symlink placeholders on Windows. It doesn't ignore symlinks in the lookup set, though, since those don't have the link bit set. This is problematic because it violates the invariant that `hg status` with every file in the normal set produces the same output as `hg status` with every file in the lookup set. With this change, symlink placeholders in the normal set are no longer ignored. We instead rely on code in localrepo.status that uses heuristics to look for suspect placeholders. An upcoming patch will test this out by no longer adding files written in the last second of an update to the lookup set.
Sat, 31 Aug 2013 10:16:06 -0700 localrepo.status: ignore empty symlink placeholders
Siddharth Agarwal <sid0@fb.com> [Sat, 31 Aug 2013 10:16:06 -0700] rev 19650
localrepo.status: ignore empty symlink placeholders A symlink's target should never be empty in normal use. Solaris and some BSDs do allow empty symlinks to be created (with varying semantics on dereference), but a symlink placeholder that started off as empty is either - going to be empty, in which case ignoring it is fine, since it's unchanged, or - going to not be empty, in which case this check is irrelevant.
Tue, 03 Sep 2013 18:08:27 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 03 Sep 2013 18:08:27 -0500] rev 19649
merge with stable
Tue, 03 Sep 2013 18:05:11 -0500 Added signature for changeset 335a558f81dc stable
Matt Mackall <mpm@selenic.com> [Tue, 03 Sep 2013 18:05:11 -0500] rev 19648
Added signature for changeset 335a558f81dc
Tue, 03 Sep 2013 18:05:06 -0500 Added tag 2.7.1 for changeset 335a558f81dc stable
Matt Mackall <mpm@selenic.com> [Tue, 03 Sep 2013 18:05:06 -0500] rev 19647
Added tag 2.7.1 for changeset 335a558f81dc
Wed, 28 Aug 2013 22:09:53 +0900 tags: write tag overwriting history also into tag cache file (issue3911) stable 2.7.1
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 28 Aug 2013 22:09:53 +0900] rev 19646
tags: write tag overwriting history also into tag cache file (issue3911) Before this patch, tag overwriting history is not written into tag cache file ".hg/cache/tags". This may give higher priority to local tag than global one, even if the former is overwritten by the latter, because tag overwriting history is used to compare priorities of them (as "rank"). In such cases, "hg tags" invocations using tag cache file shows incorrect tag information. This patch writes tag overwriting history also into tag cache file.
Tue, 03 Sep 2013 15:50:59 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 03 Sep 2013 15:50:59 -0500] rev 19645
merge with stable
Mon, 26 Aug 2013 16:11:21 +0900 histedit: add description about "histedit --outgoing" to command help stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 26 Aug 2013 16:11:21 +0900] rev 19644
histedit: add description about "histedit --outgoing" to command help Before this patch, there is no explicit description that argument is treated as the URL of the destination repository when "--outgoing" is specified. This patch adds description about "histedit --outgoing" to command help of it.
Mon, 26 Aug 2013 16:11:21 +0900 histedit: add description about basic histedit function to command help stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 26 Aug 2013 16:11:21 +0900] rev 19643
histedit: add description about basic histedit function to command help Before this patch, there is no explicit description that histedit edits changesets between specified ancestor and the parent of the working directory: users may notice it by error message "REV is not an ancestor of working directory". This patch adds description about basic histedit function to command help of it. This patch uses term "ancestor" instead of "parent", because it seems to be more suitable, and almost all (error) messages already use it.
Tue, 03 Sep 2013 15:12:35 -0400 rebase: handle bookmarks matching revset function names (issue3950) stable
Bryan O'Sullivan <bryano@fb.com> [Tue, 03 Sep 2013 15:12:35 -0400] rev 19642
rebase: handle bookmarks matching revset function names (issue3950) We handled these correctly with all rev-specifying options except, somehow, -r/--rev.
Tue, 03 Sep 2013 15:12:35 -0400 rebase: handle bookmarks matching revset function names (issue3950)
Bryan O'Sullivan <bryano@fb.com> [Tue, 03 Sep 2013 15:12:35 -0400] rev 19641
rebase: handle bookmarks matching revset function names (issue3950) We handled these correctly with all rev-specifying options except, somehow, -r/--rev.
Thu, 25 Jul 2013 22:28:34 -0500 dispatch: add ability to specify a custom pdb module as a debugger
Sean Farley <sean.michael.farley@gmail.com> [Thu, 25 Jul 2013 22:28:34 -0500] rev 19640
dispatch: add ability to specify a custom pdb module as a debugger This adds the ability to specify a config option, ui.debugger, to a custom pdb module, such as ipdb, and have mercurial use that as its debugger. As long as the value of ui.debugger is a loadable module with the set_trace and post_mortem functions, then dispatch will be able to use the custom module. Debugging _parseconfig is still available in the case of an error since it will be caught with a default the value of pdb.post_mortem.
Sat, 13 Jul 2013 16:33:07 -0500 dispatch: move command line --config argument parsing to _runcatch()
Sean Farley <sean.michael.farley@gmail.com> [Sat, 13 Jul 2013 16:33:07 -0500] rev 19639
dispatch: move command line --config argument parsing to _runcatch() Previously, command line parsing of --config arguments was done in _dispatch. This means that it takes place after activating the debugger. In an upcoming patch, we will add a ui.debugger setting so we need to have this parsing done before _runcatch.
Tue, 13 Aug 2013 01:38:30 +0200 mq: update subrepos when applying / unapplying patches that change .hgsubstate
Angel Ezquerra <angel.ezquerra@gmail.com> [Tue, 13 Aug 2013 01:38:30 +0200] rev 19638
mq: update subrepos when applying / unapplying patches that change .hgsubstate Up until now applying or unapplying a patch that modified .hgsubstate would not work as expected because it would not update the subrepos according to the .hgsubstate change. This made it very easy to lose subrepo changes when using mq. This revision also changes the test-mq-subrepo test so that on the qpop / qpush tests. We no longer use the debugsub command to check the state of the subrepos after the qpop and qpush operations. Instead we directly run the id command on the subrepos that we want to check. The reason is that using the debugsub command is misleading because it does not really check the state of the subrepos on the working directory (it just returns what the change that is specified on a given revision). Because of this the tests did not detect the problem that this revision fixes (i.e. that applying a patch did not update the subrepos to the corresponding revisions). # HG changeset patch # User Angel Ezquerra <angel.ezquerra@gmail.com> # Date 1376350710 -7200 # Tue Aug 13 01:38:30 2013 +0200 # Node ID 60897e264858cdcd46f89e27a702086f08adca02 # Parent 2defb5453f223c3027eb2f7788fbddd52bbb3352 mq: update subrepos when applying / unapplying patches that change .hgsubstate Up until now applying or unapplying a patch that modified .hgsubstate would not work as expected because it would not update the subrepos according to the .hgsubstate change. This made it very easy to lose subrepo changes when using mq. This revision also changes the test-mq-subrepo test so that on the qpop / qpush tests. We no longer use the debugsub command to check the state of the subrepos after the qpop and qpush operations. Instead we directly run the id command on the subrepos that we want to check. The reason is that using the debugsub command is misleading because it does not really check the state of the subrepos on the working directory (it just returns what the change that is specified on a given revision). Because of this the tests did not detect the problem that this revision fixes (i.e. that applying a patch did not update the subrepos to the corresponding revisions).
Wed, 21 Aug 2013 22:34:04 +0200 subrepo: make submerge() return the merged substate
Angel Ezquerra <angel.ezquerra@gmail.com> [Wed, 21 Aug 2013 22:34:04 +0200] rev 19637
subrepo: make submerge() return the merged substate This will be useful when reusing submerge() to improve the handling of subrepos on mq. # HG changeset patch # User Angel Ezquerra <angel.ezquerra@gmail.com> # Date 1377117244 -7200 # Wed Aug 21 22:34:04 2013 +0200 # Node ID 2defb5453f223c3027eb2f7788fbddd52bbb3352 # Parent a5c90acff5e61aae714ba6c9457d766c54b4f124 subrepo: make submerge() return the merged substate This will be useful when reusing submerge() to improve the handling of subrepos on mq.
Tue, 06 Aug 2013 00:49:39 +0200 mq: look for modified subrepos when checking for local changes
Angel Ezquerra <angel.ezquerra@gmail.com> [Tue, 06 Aug 2013 00:49:39 +0200] rev 19636
mq: look for modified subrepos when checking for local changes It was possible to apply, unapply, fold, patches (etc) with modified subrepos, which resulted in surprising behavior. For example it was easy to apply a patch with a modified subrepo, and then the refresh it and accidentally end up including the modified subrepo on the refreshed patch. A test has been added to verify this new check. # HG changeset patch # User Angel Ezquerra <angel.ezquerra@gmail.com> # Date 1375742979 -7200 # Tue Aug 06 00:49:39 2013 +0200 # Node ID a5c90acff5e61aae714ba6c9457d766c54b4f124 # Parent 6ac206fb6f27492a98f46bbff090407ee1b1de72 mq: look for modified subrepos when checking for local changes It was possible to apply, unapply, fold, patches (etc) with modified subrepos, which resulted in surprising behavior. For example it was easy to apply a patch with a modified subrepo, and then the refresh it and accidentally end up including the modified subrepo on the refreshed patch. A test has been added to verify this new check.
Wed, 07 Aug 2013 09:59:45 +0800 localrepo: get value from the unfiltered caches should check if the attribute existed.
Wei, Elson <elson.wei@gmail.com> [Wed, 07 Aug 2013 09:59:45 +0800] rev 19635
localrepo: get value from the unfiltered caches should check if the attribute existed. If the attribute existed already, it should be returned by getattr(). Otherwise, it will be evaluated again.
Fri, 19 Jul 2013 02:09:13 +0400 hgweb: always run search when a query is entered (bc)
Alexander Plavin <alexander@plav.in> [Fri, 19 Jul 2013 02:09:13 +0400] rev 19634
hgweb: always run search when a query is entered (bc) This changes the behavior for queries which point at a revision directly, now the output is consistent to other cases: it results in only this matched revision shown, not the log starting with it. A new test checks this behaviour and fails for the old one.
Fri, 19 Jul 2013 02:41:11 +0400 hgweb: search() function supports direct pointing to revision
Alexander Plavin <alexander@plav.in> [Fri, 19 Jul 2013 02:41:11 +0400] rev 19633
hgweb: search() function supports direct pointing to revision This doesn't change the behavior, as queries directly pointing to revisions are not delegated to the search() function now.
Thu, 22 Aug 2013 16:42:10 +0400 hgweb: pass arguments which a function depends on explicitly in search
Alexander Plavin <alexander@plav.in> [Thu, 22 Aug 2013 16:42:10 +0400] rev 19632
hgweb: pass arguments which a function depends on explicitly in search This changes makes clearer which arguments can a function depend on. Now all the modified functions depend on the 'query' argument only, but future additions will change it.
Thu, 22 Aug 2013 16:45:23 +0400 hgweb: add dynamic search function selection, depending on the query
Alexander Plavin <alexander@plav.in> [Thu, 22 Aug 2013 16:45:23 +0400] rev 19631
hgweb: add dynamic search function selection, depending on the query This allows adding other specific search functions, in addition to current keyword search.
Mon, 26 Aug 2013 17:11:01 -0700 unionrevlog: extract 'baserevision' and 'baserevdiff' methods
Wojciech Lopata <lopek@fb.com> [Mon, 26 Aug 2013 17:11:01 -0700] rev 19630
unionrevlog: extract 'baserevision' and 'baserevdiff' methods This makes possible to use unionrevlog class with subclasses of revlog that override revlog's 'revision' and 'revdiff' methods. In particular this change is necessary to implement manifest compression, as it allows extension to replace manifest class and override 'revision' amd 'revdiff' methods there.
Mon, 26 Aug 2013 16:50:31 -0700 bundlerevlog: extract 'baserevision' method
Wojciech Lopata <lopek@fb.com> [Mon, 26 Aug 2013 16:50:31 -0700] rev 19629
bundlerevlog: extract 'baserevision' method This makes possible to use bundlerevlog class with subclasses of revlog that override revlog's 'revision' method. In particular this change is necessary to implement manifest compression, as it allows extension to replace manifest class and override 'revision' method there.
Mon, 26 Aug 2013 15:20:44 -0700 solaris: tests can't use tail -n
Danek Duvall <danek.duvall@oracle.com> [Mon, 26 Aug 2013 15:20:44 -0700] rev 19628
solaris: tests can't use tail -n Solaris tail doesn't recognize the -n option. Replace the one use of it with some inline python code, and add a test case to check-code.py.
Fri, 23 Aug 2013 16:05:38 -0700 solaris: sed doesn't recognize a line without a newline
Danek Duvall <danek.duvall@oracle.com> [Fri, 23 Aug 2013 16:05:38 -0700] rev 19627
solaris: sed doesn't recognize a line without a newline
Fri, 23 Aug 2013 14:31:42 -0700 solaris: test cases can't use grep -a
Danek Duvall <danek.duvall@oracle.com> [Fri, 23 Aug 2013 14:31:42 -0700] rev 19626
solaris: test cases can't use grep -a The -a option to GNU grep isn't available when using Solaris grep. Replace the one use of grep -a in the testsuite with some in-line Python that does the equivalent, and add a check for grep -a in check-code.py.
Mon, 19 Aug 2013 11:25:23 -0700 revlog: pass node as an argument of addrevision
Wojciech Lopata <lopek@fb.com> [Mon, 19 Aug 2013 11:25:23 -0700] rev 19625
revlog: pass node as an argument of addrevision This change will allow revlog subclasses that override 'checkhash' method to use custom strategy of computing nodeids without overriding 'addrevision' method. In particular this change is necessary to implement manifest compression.
Mon, 19 Aug 2013 11:06:38 -0700 revlog: extract 'checkhash' method
Wojciech Lopata <lopek@fb.com> [Mon, 19 Aug 2013 11:06:38 -0700] rev 19624
revlog: extract 'checkhash' method Extract method that decides whether nodeid is correct for paricular revision text and parent nodes. Having this method extracted will allow revlog subclasses to implement custom way of computing nodes. In particular this change is necessary to implement manifest compression.
Mon, 26 Aug 2013 16:11:21 +0900 histedit: discard meaningless comment about 'hexlify node'
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 26 Aug 2013 16:11:21 +0900] rev 19623
histedit: discard meaningless comment about 'hexlify node' Refactoring in 26b41a902195 made this comment meaningless. The node gotten by "discovery.findcommonoutgoing()" is hexlified in "between()" by "repo.set('%n::%n', old, new)".
Mon, 26 Aug 2013 16:11:21 +0900 histedit: add description about "histedit --outgoing" to command help
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 26 Aug 2013 16:11:21 +0900] rev 19622
histedit: add description about "histedit --outgoing" to command help Before this patch, there is no explicit description that argument is treated as the URL of the destination repository when "--outgoing" is specified. This patch adds description about "histedit --outgoing" to command help of it.
Mon, 26 Aug 2013 16:11:21 +0900 histedit: add description about basic histedit function to command help
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 26 Aug 2013 16:11:21 +0900] rev 19621
histedit: add description about basic histedit function to command help Before this patch, there is no explicit description that histedit edits changesets between specified ancestor and the parent of the working directory: users may notice it by error message "REV is not an ancestor of working directory". This patch adds description about basic histedit function to command help of it. This patch uses term "ancestor" instead of "parent", because it seems to be more suitable, and almost all (error) messages already use it.
Fri, 23 Aug 2013 16:16:22 -0400 httpclient: import 0d1b0a8bc549 to fix bug involving late-arriving RST after a response
Augie Fackler <raf@durin42.com> [Fri, 23 Aug 2013 16:16:22 -0400] rev 19620
httpclient: import 0d1b0a8bc549 to fix bug involving late-arriving RST after a response After a day of hunting this defect, I'm now unable to reproduce the bug without this patch applied. Regardless, this should fix the problem I was observing with wireshark. Hopefully this fixes any flakiness in the buildbot from http2.
Fri, 23 Aug 2013 13:28:18 -0400 progress: stop getting stuck in a nested topic during a long inner step
Augie Fackler <raf@durin42.com> [Fri, 23 Aug 2013 13:28:18 -0400] rev 19619
progress: stop getting stuck in a nested topic during a long inner step Convert, for example, has loops like this: for revision in source_repo: progress(revisions) for file in revision: progresss(file) Prior to this change, we would start showing the file-level progress when we encountered a big revision, and then we'd get stuck in showing file-progress instead of revision progress, often producing many many instantly-completing progress bars rather than the actually-helpful top-level revisions bar.
Thu, 15 Aug 2013 21:36:53 -0400 Backed out changeset 77d434760857
Augie Fackler <raf@durin42.com> [Thu, 15 Aug 2013 21:36:53 -0400] rev 19618
Backed out changeset 77d434760857
Thu, 15 Aug 2013 21:35:56 -0400 hgrc.d: separate namespace for mercurial scripts 9diff and 9mail
Jeff Sickel <jas@corpus-callosum.com> [Thu, 15 Aug 2013 21:35:56 -0400] rev 19617
hgrc.d: separate namespace for mercurial scripts 9diff and 9mail
Wed, 14 Aug 2013 12:42:22 -0500 debugfs: add hardlink support reporting
Matt Mackall <mpm@selenic.com> [Wed, 14 Aug 2013 12:42:22 -0500] rev 19616
debugfs: add hardlink support reporting
Sun, 04 Aug 2013 13:43:39 +0200 obsolete: allow passing a revision to successorssets()
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 04 Aug 2013 13:43:39 +0200] rev 19615
obsolete: allow passing a revision to successorssets()
Mon, 12 Aug 2013 17:44:31 -0500 factotum: clean up keychain for multiple hg repository authentication
Jeff Sickel <jas@corpus-callosum.com> [Mon, 12 Aug 2013 17:44:31 -0500] rev 19614
factotum: clean up keychain for multiple hg repository authentication
Mon, 12 Aug 2013 17:36:49 -0500 9mail: new script to add support for Plan 9 upas/marshal email wrapper
Jeff Sickel <jas@corpus-callosum.com> [Mon, 12 Aug 2013 17:36:49 -0500] rev 19613
9mail: new script to add support for Plan 9 upas/marshal email wrapper
Sun, 11 Aug 2013 23:50:32 -0500 workingfilectx: inherit from basefilectx instead of filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 23:50:32 -0500] rev 19612
workingfilectx: inherit from basefilectx instead of filectx
Sun, 11 Aug 2013 23:06:10 -0500 basefilectx: move copies from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 23:06:10 -0500] rev 19611
basefilectx: move copies from filectx
Sun, 11 Aug 2013 23:05:50 -0500 basefilectx: move ancestors from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 23:05:50 -0500] rev 19610
basefilectx: move ancestors from filectx
Sun, 11 Aug 2013 23:05:08 -0500 basefilectx: move ancestor from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 23:05:08 -0500] rev 19609
basefilectx: move ancestor from filectx
Sun, 11 Aug 2013 23:03:33 -0500 basefilectx: move annotate from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 23:03:33 -0500] rev 19608
basefilectx: move annotate from filectx
Sun, 11 Aug 2013 23:00:11 -0500 basefilectx: move p2 from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 23:00:11 -0500] rev 19607
basefilectx: move p2 from filectx
Sun, 11 Aug 2013 22:59:10 -0500 basefilectx: move p1 from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:59:10 -0500] rev 19606
basefilectx: move p1 from filectx
Sun, 11 Aug 2013 22:57:21 -0500 basefilectx: move parents from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:57:21 -0500] rev 19605
basefilectx: move parents from filectx
Sun, 11 Aug 2013 22:56:53 -0500 basefilectx: move cmp from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:56:53 -0500] rev 19604
basefilectx: move cmp from filectx
Sun, 11 Aug 2013 22:56:30 -0500 basefilectx: move isbinary from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:56:30 -0500] rev 19603
basefilectx: move isbinary from filectx
Sun, 11 Aug 2013 22:56:18 -0500 basefilectx: move path from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:56:18 -0500] rev 19602
basefilectx: move path from filectx
Sun, 11 Aug 2013 22:56:02 -0500 basefilectx: move changectx from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:56:02 -0500] rev 19601
basefilectx: move changectx from filectx
Sun, 11 Aug 2013 22:55:09 -0500 basefilectx: move manifest from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:55:09 -0500] rev 19600
basefilectx: move manifest from filectx
Sun, 11 Aug 2013 22:54:58 -0500 basefilectx: move phasestr from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:54:58 -0500] rev 19599
basefilectx: move phasestr from filectx
Sun, 11 Aug 2013 22:54:48 -0500 basefilectx: move phase from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:54:48 -0500] rev 19598
basefilectx: move phase from filectx
Sun, 11 Aug 2013 22:54:39 -0500 basefilectx: move extra from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:54:39 -0500] rev 19597
basefilectx: move extra from filectx
Sun, 11 Aug 2013 22:54:31 -0500 basefilectx: move branch from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:54:31 -0500] rev 19596
basefilectx: move branch from filectx
Sun, 11 Aug 2013 22:54:22 -0500 basefilectx: move description from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:54:22 -0500] rev 19595
basefilectx: move description from filectx
Sun, 11 Aug 2013 22:54:12 -0500 basefilectx: move files from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:54:12 -0500] rev 19594
basefilectx: move files from filectx
Sun, 11 Aug 2013 22:53:56 -0500 basefilectx: move date from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:53:56 -0500] rev 19593
basefilectx: move date from filectx
Sun, 11 Aug 2013 22:53:47 -0500 basefilectx: move user from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:53:47 -0500] rev 19592
basefilectx: move user from filectx
Sun, 11 Aug 2013 22:53:23 -0500 basefilectx: move hex from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:53:23 -0500] rev 19591
basefilectx: move hex from filectx We also change the function call to use the hex method of its change context so that it mirrors other such method calls.
Sun, 11 Aug 2013 22:51:53 -0500 basefilectx: move node from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:51:53 -0500] rev 19590
basefilectx: move node from filectx
Sun, 11 Aug 2013 22:51:41 -0500 basefilectx: move linkrev from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:51:41 -0500] rev 19589
basefilectx: move linkrev from filectx
Sun, 11 Aug 2013 22:51:30 -0500 basefilectx: move rev from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:51:30 -0500] rev 19588
basefilectx: move rev from filectx
Sun, 11 Aug 2013 22:51:18 -0500 basefilectx: move filelog from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:51:18 -0500] rev 19587
basefilectx: move filelog from filectx
Sun, 11 Aug 2013 22:51:04 -0500 basefilectx: move flags from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:51:04 -0500] rev 19586
basefilectx: move flags from filectx
Sun, 11 Aug 2013 22:50:37 -0500 basefilectx: move filenode from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:50:37 -0500] rev 19585
basefilectx: move filenode from filectx
Sun, 11 Aug 2013 22:50:15 -0500 basefilectx: move filerev from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:50:15 -0500] rev 19584
basefilectx: move filerev from filectx
Sun, 11 Aug 2013 22:49:40 -0500 basefilectx: move __ne__ from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:49:40 -0500] rev 19583
basefilectx: move __ne__ from filectx
Sun, 11 Aug 2013 22:49:03 -0500 basefilectx: move __eq__ from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:49:03 -0500] rev 19582
basefilectx: move __eq__ from filectx We also add type checking for extra protection.
Sun, 11 Aug 2013 22:47:39 -0500 basefilectx: move __hash__ from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:47:39 -0500] rev 19581
basefilectx: move __hash__ from filectx
Sun, 11 Aug 2013 22:46:54 -0500 basefilectx: move __repr__ from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:46:54 -0500] rev 19580
basefilectx: move __repr__ from filectx We change the hardcoded 'filectx' to instead use type(self).__name__ so that objects that inherit from basefilectx in the future will be able to use the same representation.
Sun, 11 Aug 2013 22:45:30 -0500 basefilectx: move __str__ from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:45:30 -0500] rev 19579
basefilectx: move __str__ from filectx
Sun, 11 Aug 2013 22:45:13 -0500 basefilectx: move __nonzero__ from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:45:13 -0500] rev 19578
basefilectx: move __nonzero__ from filectx
Sun, 11 Aug 2013 22:44:51 -0500 basefilectx: move _repopath from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:44:51 -0500] rev 19577
basefilectx: move _repopath from filectx
Sun, 11 Aug 2013 22:44:36 -0500 basefilectx: move _filerev from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:44:36 -0500] rev 19576
basefilectx: move _filerev from filectx
Sun, 11 Aug 2013 22:44:19 -0500 basefilectx: move _filenode from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:44:19 -0500] rev 19575
basefilectx: move _filenode from filectx
Sun, 11 Aug 2013 22:44:06 -0500 basefilectx: move _changeid from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:44:06 -0500] rev 19574
basefilectx: move _changeid from filectx
Sun, 11 Aug 2013 22:40:59 -0500 basefilectx: move _filelog from filectx
Sean Farley <sean.michael.farley@gmail.com> [Sun, 11 Aug 2013 22:40:59 -0500] rev 19573
basefilectx: move _filelog from filectx
Sat, 10 Aug 2013 15:10:26 -0500 basefilectx: add an empty class that will be used as a parent of file contexts
Sean Farley <sean.michael.farley@gmail.com> [Sat, 10 Aug 2013 15:10:26 -0500] rev 19572
basefilectx: add an empty class that will be used as a parent of file contexts Similar to the refactoring of context, we split common logic from filectx to a parent class called basefilectx that will be inherited by filectx, workingfilectx, and memfilectx. This will allow a clear disinction of all the file contexts: - filectx: read-only access to a filerevision that is already present in the repo, - workingfilectx: a filecontext that represents files from the working directory, - memfilectx: a filecontext that represents files in-memory
Mon, 05 Aug 2013 18:44:18 -0500 workingctx: inherit from basectx instead of changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:44:18 -0500] rev 19571
workingctx: inherit from basectx instead of changectx
Tue, 06 Aug 2013 15:10:09 -0500 largefiles: remove unnecessary check of instance
Sean Farley <sean.michael.farley@gmail.com> [Tue, 06 Aug 2013 15:10:09 -0500] rev 19570
largefiles: remove unnecessary check of instance The refactoring of all the context objects allows us to simply pass a basectx to the __new__ constructor and have it return the same object without allocating new memory. This also removes the need to import the context module.
Tue, 06 Aug 2013 15:11:42 -0500 localrepo: remove unnecessary check of instance
Sean Farley <sean.michael.farley@gmail.com> [Tue, 06 Aug 2013 15:11:42 -0500] rev 19569
localrepo: remove unnecessary check of instance The refactoring of all the context objects allows us to simply pass a basectx to the __new__ constructor and have it return the same object without allocating new memory.
Tue, 06 Aug 2013 15:11:31 -0500 basectx: remove unnecessary check of instance
Sean Farley <sean.michael.farley@gmail.com> [Tue, 06 Aug 2013 15:11:31 -0500] rev 19568
basectx: remove unnecessary check of instance The refactoring of all the context objects allows us to simply pass a basectx to the __new__ constructor and have it return the same object without allocating new memory.
Mon, 05 Aug 2013 18:42:41 -0500 basectx: move dirty from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:42:41 -0500] rev 19567
basectx: move dirty from changectx
Mon, 05 Aug 2013 18:41:56 -0500 basectx: move dirs from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:41:56 -0500] rev 19566
basectx: move dirs from changectx
Mon, 05 Aug 2013 18:41:43 -0500 basectx: move _dirs from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:41:43 -0500] rev 19565
basectx: move _dirs from changectx
Mon, 05 Aug 2013 18:41:12 -0500 basectx: move diff from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:41:12 -0500] rev 19564
basectx: move diff from changectx
Mon, 05 Aug 2013 18:41:00 -0500 basectx: move match from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:41:00 -0500] rev 19563
basectx: move match from changectx
Mon, 05 Aug 2013 18:40:36 -0500 basectx: move sub from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:40:36 -0500] rev 19562
basectx: move sub from changectx
Mon, 05 Aug 2013 18:28:54 -0500 basectx: move flags from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:28:54 -0500] rev 19561
basectx: move flags from changectx
Mon, 05 Aug 2013 18:28:40 -0500 basectx: move filenode from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:28:40 -0500] rev 19560
basectx: move filenode from changectx
Mon, 05 Aug 2013 18:28:23 -0500 basectx: move _fileinfo from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:28:23 -0500] rev 19559
basectx: move _fileinfo from changectx
Mon, 05 Aug 2013 18:26:54 -0500 basectx: move p2 from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:26:54 -0500] rev 19558
basectx: move p2 from changectx
Mon, 05 Aug 2013 18:26:15 -0500 basectx: move p1 from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:26:15 -0500] rev 19557
basectx: move p1 from changectx
Mon, 05 Aug 2013 18:19:38 -0500 basectx: move parents from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:19:38 -0500] rev 19556
basectx: move parents from changectx
Mon, 05 Aug 2013 18:19:19 -0500 basectx: move mutable from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:19:19 -0500] rev 19555
basectx: move mutable from changectx
Mon, 05 Aug 2013 18:19:04 -0500 basectx: move phasestr from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 18:19:04 -0500] rev 19554
basectx: move phasestr from changectx
Mon, 05 Aug 2013 17:22:49 -0500 basectx: move manifest from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 17:22:49 -0500] rev 19553
basectx: move manifest from changectx
Mon, 05 Aug 2013 17:22:18 -0500 basectx: move __iter__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 17:22:18 -0500] rev 19552
basectx: move __iter__ from changectx
Mon, 05 Aug 2013 17:22:05 -0500 basectx: move __getitem__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 17:22:05 -0500] rev 19551
basectx: move __getitem__ from changectx
Mon, 05 Aug 2013 17:21:38 -0500 basectx: move __contains__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 17:21:38 -0500] rev 19550
basectx: move __contains__ from changectx
Mon, 05 Aug 2013 17:21:23 -0500 basectx: move substate from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 17:21:23 -0500] rev 19549
basectx: move substate from changectx
Mon, 05 Aug 2013 17:00:32 -0500 basectx: move __ne__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 17:00:32 -0500] rev 19548
basectx: move __ne__ from changectx
Mon, 05 Aug 2013 17:00:09 -0500 basectx: move __eq__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Mon, 05 Aug 2013 17:00:09 -0500] rev 19547
basectx: move __eq__ from changectx We also add type checking for extra protection.
Fri, 02 Aug 2013 18:24:08 -0500 basectx: move __repr__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 18:24:08 -0500] rev 19546
basectx: move __repr__ from changectx We change the hardcoded 'changectx' to instead use type(self).__name__ so that objects that inherit from basectx in the future will be able to use the same representation.
Fri, 02 Aug 2013 16:52:13 -0500 basectx: move __int__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:52:13 -0500] rev 19545
basectx: move __int__ from changectx
Fri, 02 Aug 2013 16:50:13 -0500 basectx: change _node to node() in hex
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:50:13 -0500] rev 19544
basectx: change _node to node() in hex This allows a child class to overload the node() function and still share the same code for hex().
Fri, 02 Aug 2013 16:49:01 -0500 basectx: move hex from changectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:49:01 -0500] rev 19543
basectx: move hex from changectx
Fri, 02 Aug 2013 16:48:19 -0500 basectx: move node from changectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:48:19 -0500] rev 19542
basectx: move node from changectx
Fri, 02 Aug 2013 19:09:06 -0500 basectx: move rev from changectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 19:09:06 -0500] rev 19541
basectx: move rev from changectx
Fri, 02 Aug 2013 16:46:23 -0500 basectx: move __str__ from changectx
Sean Farley <sean.michael.farley@gmail.com> [Fri, 02 Aug 2013 16:46:23 -0500] rev 19540
basectx: move __str__ from changectx
Tue, 06 Aug 2013 16:42:41 -0500 changectx: if passing a basectx then exit __init__ immediately
Sean Farley <sean.michael.farley@gmail.com> [Tue, 06 Aug 2013 16:42:41 -0500] rev 19539
changectx: if passing a basectx then exit __init__ immediately
Tue, 06 Aug 2013 15:50:28 -0500 basectx: return a copied context if changeid is already a basectx
Sean Farley <sean.michael.farley@gmail.com> [Tue, 06 Aug 2013 15:50:28 -0500] rev 19538
basectx: return a copied context if changeid is already a basectx This implements a copy constructor so that we can pass a basectx-derived object in future refactorings.
Sat, 13 Jul 2013 19:59:21 -0500 basectx: add an empty class that will be used as a parent of all contexts
Sean Farley <sean.michael.farley@gmail.com> [Sat, 13 Jul 2013 19:59:21 -0500] rev 19537
basectx: add an empty class that will be used as a parent of all contexts At the moment, there is no simple way to check if an object is a context because there is no common parent class. If there were, we could use 'isinstance' everywhere. Simply having memctx inherit from workingctx or changectx would allow the use of 'isinstance' but that could lead to some confusing situations of reading the code since we have three distinct concepts of a context: - changectx represents a changeset *already* in the repo, and is therefore immutable - workingctx represents changes on disk in the working directory - memctx represents changes solely in memory which may or may not be on disk Therefore, I propose refactoring context.py to have all three contexts inherit from a parent class 'basectx'.
Wed, 24 Jul 2013 19:13:39 -0400 ui.config: fix bug in config alternatives from cc669e4fec95
Augie Fackler <durin42@gmail.com> [Wed, 24 Jul 2013 19:13:39 -0400] rev 19536
ui.config: fix bug in config alternatives from cc669e4fec95
Sat, 03 Aug 2013 13:23:48 -0500 proxy: allow wildcards in the no proxy list (issue1821)
Matt Mackall <mpm@selenic.com> [Sat, 03 Aug 2013 13:23:48 -0500] rev 19535
proxy: allow wildcards in the no proxy list (issue1821)
Fri, 19 Jul 2013 02:08:19 +0400 hgweb: cleaner if conditions in changelog() function
Alexander Plavin <alexander@plav.in> [Fri, 19 Jul 2013 02:08:19 +0400] rev 19534
hgweb: cleaner if conditions in changelog() function This removes unneeded extra nesting level and extra variable, which makes the code easier to understand.
Mon, 15 Jul 2013 01:10:22 +0400 hgweb: separate search itself and template generation
Alexander Plavin <alexander@plav.in> [Mon, 15 Jul 2013 01:10:22 +0400] rev 19533
hgweb: separate search itself and template generation This will make it simpler to add other search modes.
Sat, 03 Aug 2013 00:34:56 +0400 paper: remove unused occurence of changelogtag in views
Alexander Plavin <alexander@plav.in> [Sat, 03 Aug 2013 00:34:56 +0400] rev 19532
paper: remove unused occurence of changelogtag in views This variably isn't passed to these views and it always renders to empty string for this reason. Other themes don't have this issue.
Sun, 30 Jun 2013 11:48:21 +0400 hgweb: show full date in rfc822 format in tooltips at shortlog page
Alexander Plavin <alexander@plav.in> [Sun, 30 Jun 2013 11:48:21 +0400] rev 19531
hgweb: show full date in rfc822 format in tooltips at shortlog page The absolute date was not shown anywhere in the log view for users with enabled JavaScript.
Sun, 04 Aug 2013 16:19:12 -0500 hgweb: remove trailing whitespace in mercurial.js
Kevin Bullock <kbullock@ringworld.org> [Sun, 04 Aug 2013 16:19:12 -0500] rev 19530
hgweb: remove trailing whitespace in mercurial.js
Mon, 22 Jul 2013 17:07:19 +0400 paper: get rid of changelogtag template duplication
Alexander Plavin <alexander@plav.in> [Mon, 22 Jul 2013 17:07:19 +0400] rev 19529
paper: get rid of changelogtag template duplication
Fri, 26 Jul 2013 15:59:16 -0400 obsolete: clean up a couple of docstrings for correctness
Augie Fackler <raf@durin42.com> [Fri, 26 Jul 2013 15:59:16 -0400] rev 19528
obsolete: clean up a couple of docstrings for correctness
Fri, 26 Jul 2013 21:18:40 -0400 run-tests: only check the common criteria once per test
Simon Heimberg <simohe@besonet.ch> [Fri, 26 Jul 2013 21:18:40 -0400] rev 19527
run-tests: only check the common criteria once per test
Thu, 01 Aug 2013 22:52:05 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 22:52:05 -0500] rev 19526
merge with stable
Thu, 01 Aug 2013 22:37:44 -0500 Added signature for changeset f37b5a17e6a0 stable
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 22:37:44 -0500] rev 19525
Added signature for changeset f37b5a17e6a0
Thu, 01 Aug 2013 22:37:41 -0500 Added tag 2.7 for changeset f37b5a17e6a0 stable
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 22:37:41 -0500] rev 19524
Added tag 2.7 for changeset f37b5a17e6a0
Thu, 01 Aug 2013 21:43:14 -0500 bookmarks: pull --update updates to active bookmark if it moved (issue4007) stable 2.7
Kevin Bullock <kbullock@ringworld.org> [Thu, 01 Aug 2013 21:43:14 -0500] rev 19523
bookmarks: pull --update updates to active bookmark if it moved (issue4007) This makes `hg pull --update` behave the same wrt the active bookmark as `hg pull && hg update` does as of 2096e025a728. A helper function, bookmarks.calculateupdate, is added to prevent code duplication between postincoming and update.
Thu, 01 Aug 2013 20:06:00 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 20:06:00 -0500] rev 19522
merge with i18n
Thu, 01 Aug 2013 02:36:59 -0300 i18n-pt_BR: synchronized with 7b815e38022a stable
Wagner Bruna <wbruna@yahoo.com> [Thu, 01 Aug 2013 02:36:59 -0300] rev 19521
i18n-pt_BR: synchronized with 7b815e38022a
Thu, 01 Aug 2013 04:32:29 +0900 i18n-ja: synchronized with cfdae231ba78 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 01 Aug 2013 04:32:29 +0900] rev 19520
i18n-ja: synchronized with cfdae231ba78
Thu, 01 Aug 2013 19:55:02 -0500 histedit: don't clobber working copy on --abort if not on histedit cset stable
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 19:55:02 -0500] rev 19519
histedit: don't clobber working copy on --abort if not on histedit cset Similar to issue4009, 2.7 will force people to abort histedits before doing interesting things. Without this fix, people with histedit sessions they wandered away from before upgrading to 2.7 could clobber their working copy for no reason.
Thu, 01 Aug 2013 17:54:12 -0500 rebase: allow aborting when descendants detected stable
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 17:54:12 -0500] rev 19518
rebase: allow aborting when descendants detected With this, all aborts will succeed in removing the state, rather than leaving the user in 'what do I do now?' limbo.
Thu, 01 Aug 2013 17:45:13 -0500 rebase: continue abort without strip for immutable csets (issue3997) stable
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 17:45:13 -0500] rev 19517
rebase: continue abort without strip for immutable csets (issue3997) This causes us to simply discard the rebase state.
Thu, 01 Aug 2013 17:33:09 -0500 rebase: don't clobber wd on --abort when we've updated away (issue4009) stable
Matt Mackall <mpm@selenic.com> [Thu, 01 Aug 2013 17:33:09 -0500] rev 19516
rebase: don't clobber wd on --abort when we've updated away (issue4009)
Fri, 26 Jul 2013 13:34:51 -0700 bookmarks: update only proper bookmarks on push -r/-B (issue 3973) stable
Wojciech Lopata <lopek@fb.com> [Fri, 26 Jul 2013 13:34:51 -0700] rev 19515
bookmarks: update only proper bookmarks on push -r/-B (issue 3973) Make push -r/-B update only these bookmarks that point to pushed revisions or their ancestors, so we can be sure that commit pointed by bookmark is present in the remote reposiory. Previously push tried to update all shared bookmarks.
Sun, 28 Jul 2013 15:02:32 -0500 checklink: work around sshfs brain-damage (issue3636) stable
Matt Mackall <mpm@selenic.com> [Sun, 28 Jul 2013 15:02:32 -0500] rev 19514
checklink: work around sshfs brain-damage (issue3636) With the follow_symlinks option, sshfs will successfully create links while claiming it encountered an I/O error. In addition, depending on the type of link, it may subsequently be impossible to delete the link via sshfs. Our existing link to '.' will cause sshfs to think the link is a directory, and thus cause unlink to give EISDIR. Links to non-existent names or circular links will cause the created link to not even be visible. Thus, we need to create a new temporary file and link to that. We'll still get a failure, but we'll be able to remove the link.
Sat, 27 Jul 2013 19:31:14 -0500 import: cut commit messages at --- unconditionally (issue2148) stable
Matt Mackall <mpm@selenic.com> [Sat, 27 Jul 2013 19:31:14 -0500] rev 19513
import: cut commit messages at --- unconditionally (issue2148) We used to do this based on X-mailer: mentioning git, but git doesn't put X-mailer in its git-format-patch output.
Sat, 27 Jul 2013 21:16:12 +0200 win32: update Inno Setup installer script and extensions list stable
Pascal Quantin <pascal.quantin@gmail.com> [Sat, 27 Jul 2013 21:16:12 +0200] rev 19512
win32: update Inno Setup installer script and extensions list
Fri, 26 Jul 2013 21:03:25 -0500 revert: fix largefiles breakage stable
Matt Mackall <mpm@selenic.com> [Fri, 26 Jul 2013 21:03:25 -0500] rev 19511
revert: fix largefiles breakage
Fri, 26 Jul 2013 17:08:05 -0500 revert: make backup when unforgetting a file (issue3423) stable
Matt Mackall <mpm@selenic.com> [Fri, 26 Jul 2013 17:08:05 -0500] rev 19510
revert: make backup when unforgetting a file (issue3423) This skips the backup if it would be a duplicate.
Fri, 26 Jul 2013 15:42:10 -0500 revsingle: fix silly API issue (issue2992) stable
Matt Mackall <mpm@selenic.com> [Fri, 26 Jul 2013 15:42:10 -0500] rev 19509
revsingle: fix silly API issue (issue2992)
Fri, 26 Jul 2013 15:05:48 -0500 Added signature for changeset f0d7721d7322 stable
Matt Mackall <mpm@selenic.com> [Fri, 26 Jul 2013 15:05:48 -0500] rev 19508
Added signature for changeset f0d7721d7322
Fri, 26 Jul 2013 15:05:46 -0500 Added tag 2.7-rc for changeset f0d7721d7322 stable
Matt Mackall <mpm@selenic.com> [Fri, 26 Jul 2013 15:05:46 -0500] rev 19507
Added tag 2.7-rc for changeset f0d7721d7322
Thu, 25 Jul 2013 21:00:03 +0200 i18n-it: do not translate rst syntax stable 2.7-rc
Simon Heimberg <simohe@besonet.ch> [Thu, 25 Jul 2013 21:00:03 +0200] rev 19506
i18n-it: do not translate rst syntax ".. container::" and ".. note::" are rst syntax and therefore must not be translated.
Fri, 26 Jul 2013 14:44:13 +0100 convert: handle changeset sorting errors without traceback (issue3961) stable
Frank Kingswood <frank@kingswood-consulting.co.uk> [Fri, 26 Jul 2013 14:44:13 +0100] rev 19505
convert: handle changeset sorting errors without traceback (issue3961)
Thu, 25 Jul 2013 14:43:15 -0700 ancestor.deepest: ignore ninteresting while building result (issue3984) stable
Siddharth Agarwal <sid0@fb.com> [Thu, 25 Jul 2013 14:43:15 -0700] rev 19504
ancestor.deepest: ignore ninteresting while building result (issue3984) ninteresting indicates the number of non-zero elements in the interesting array, not the number of elements in the final list. Since elements in interesting can stand for more than one gca, limiting the number of results to ninteresting is an error. Tests for issue3984 are included.
Thu, 25 Jul 2013 17:35:53 +0800 ancestor.deepest: decrement ninteresting correctly (issue3984) stable
Wei, Elson <elson.wei@gmail.com> [Thu, 25 Jul 2013 17:35:53 +0800] rev 19503
ancestor.deepest: decrement ninteresting correctly (issue3984) The invariant this code tries to hold is that ninteresting is the number of non-zero elements in the interesting array. interesting[nsp] is incremented at the same time as interesting[sp] is decremented. So if interesting[nsp] was previously 0, ninteresting shouldn't be decremented.
Thu, 25 Jul 2013 14:20:37 -0700 ancestor.deepest: sort revs in C version stable
Siddharth Agarwal <sid0@fb.com> [Thu, 25 Jul 2013 14:20:37 -0700] rev 19502
ancestor.deepest: sort revs in C version This isn't strictly necessary, but it makes the code more consistent with the Python version.
Thu, 25 Jul 2013 10:44:51 -0400 check-code: add a check for the next() builtin, which was new in 2.6 stable
Augie Fackler <raf@durin42.com> [Thu, 25 Jul 2013 10:44:51 -0400] rev 19501
check-code: add a check for the next() builtin, which was new in 2.6
Thu, 25 Jul 2013 10:42:36 -0400 mq: rename next() to nextpatch() to avoid confusing a future check-code patch stable
Augie Fackler <raf@durin42.com> [Thu, 25 Jul 2013 10:42:36 -0400] rev 19500
mq: rename next() to nextpatch() to avoid confusing a future check-code patch next() is a builtin starting in 2.6, so it's also nice to avoid shadowing the builtin.
Thu, 25 Jul 2013 15:27:41 +0400 hgweb: replace next(revs) to revs.next() to fix compatibility with Python 2.5- stable
Alexander Plavin <me@aplavin.ru> [Thu, 25 Jul 2013 15:27:41 +0400] rev 19499
hgweb: replace next(revs) to revs.next() to fix compatibility with Python 2.5-
Thu, 25 Jul 2013 02:44:27 -0500 tests: glob out exception type for directory collision stable
Matt Mackall <mpm@selenic.com> [Thu, 25 Jul 2013 02:44:27 -0500] rev 19498
tests: glob out exception type for directory collision Got three different results on buildbot.
Thu, 25 Jul 2013 02:34:09 -0500 record: add checkunfinished support (issue3955) stable
Matt Mackall <mpm@selenic.com> [Thu, 25 Jul 2013 02:34:09 -0500] rev 19497
record: add checkunfinished support (issue3955)
Thu, 25 Jul 2013 02:17:52 -0500 checkunfinished: accommodate histedit quirk stable
Matt Mackall <mpm@selenic.com> [Thu, 25 Jul 2013 02:17:52 -0500] rev 19496
checkunfinished: accommodate histedit quirk Turns out histedit actually intends for commits (but not other operations like update) to be possible during its operation.
Mon, 22 Jul 2013 10:04:53 +0200 tests: test-check-code-hg.t works for all files to check stable
Simon Heimberg <simohe@besonet.ch> [Mon, 22 Jul 2013 10:04:53 +0200] rev 19495
tests: test-check-code-hg.t works for all files to check with xargs, backslashes are eaten up. Convert them to slashes therefore. This is only a problem with ls (on windows). hg manifest returns slashes. The pipe char is moved before the line end for telling check-code.py that sed does not modify the output.
Mon, 22 Jul 2013 10:04:45 +0200 check-code: do not abort on an unreadable file, only report this stable
Simon Heimberg <simohe@besonet.ch> [Mon, 22 Jul 2013 10:04:45 +0200] rev 19494
check-code: do not abort on an unreadable file, only report this
Thu, 25 Jul 2013 00:54:49 -0500 heads: fix children/descendants in doc (issue3992) stable
Matt Mackall <mpm@selenic.com> [Thu, 25 Jul 2013 00:54:49 -0500] rev 19493
heads: fix children/descendants in doc (issue3992)
Sun, 21 Jul 2013 18:50:54 +0400 paper: fix rendering of the first tab in a line in Webkit (issue3990) stable
Alexander Plavin <me@aplavin.ru> [Sun, 21 Jul 2013 18:50:54 +0400] rev 19492
paper: fix rendering of the first tab in a line in Webkit (issue3990) This fixes issue3990 for Webkit-browsers, and also older Opera versions. Rendering in firefox is not changed.
Sun, 21 Jul 2013 01:38:04 +0400 hgweb: fix duplication for some search queries stable
Alexander Plavin <me@aplavin.ru> [Sun, 21 Jul 2013 01:38:04 +0400] rev 19491
hgweb: fix duplication for some search queries Given that N is maximum revision number in a repo, than if a revision with number N-100n or N-100n+1 (for any integer n) is found with a hgweb search, this revision is duplicated in search results.
Wed, 24 Jul 2013 14:51:13 -0400 sslutil: force SSLv3 on Python 2.6 and later (issue3905) stable
Augie Fackler <raf@durin42.com> [Wed, 24 Jul 2013 14:51:13 -0400] rev 19490
sslutil: force SSLv3 on Python 2.6 and later (issue3905) We can't (easily) force SSL version on older Pythons, but on 2.6 and later we can force SSLv3, which is safer and widely supported. This also appears to work around a bug in IIS detailed in issue 3905.
Wed, 24 Jul 2013 14:45:29 -0400 httpclient: update to revision 9517a2b56fe9 of httpplus (issue3905) stable
Augie Fackler <raf@durin42.com> [Wed, 24 Jul 2013 14:45:29 -0400] rev 19489
httpclient: update to revision 9517a2b56fe9 of httpplus (issue3905) Includes upstream change "socketutil: force SSLv3 by default, as it is safer" which should fix issue 3905.
Sat, 11 May 2013 20:40:15 -0500 hgweb: force connection close on early response stable
Augie Fackler <raf@durin42.com> [Sat, 11 May 2013 20:40:15 -0500] rev 19488
hgweb: force connection close on early response Not all WSGI servers close the socket when an early response is sent to a large POST request, which can cause the server to interpret the already-sent request body as an incoming (but hopelessly invalid) request.
Thu, 25 Jul 2013 02:41:22 +0400 hgweb: fix incorrect revisions count in graph (issue3977) stable
Alexander Plavin <me@aplavin.ru> [Thu, 25 Jul 2013 02:41:22 +0400] rev 19487
hgweb: fix incorrect revisions count in graph (issue3977) Actual amount of revisions is used now instead of their numbers in the repo before to deal with skipped numbers correctly.
Thu, 25 Jul 2013 02:22:39 +0400 hgweb: fix incorrect way to count revisions in log (issue3977) stable
Alexander Plavin <me@aplavin.ru> [Thu, 25 Jul 2013 02:22:39 +0400] rev 19486
hgweb: fix incorrect way to count revisions in log (issue3977) Actual amount of revisions is used now instead of their numbers in the repo before to deal with skipped numbers correctly. This iterates starting from the newest revision (which is shown on top) yielding up to the specified count, instead of the reversed order used before. Effect of this change on efficiency is negligible, when the same changesets are returned.
Thu, 25 Jul 2013 02:48:21 +0400 hgweb: always start graph with the revision in url stable
Alexander Plavin <me@aplavin.ru> [Thu, 25 Jul 2013 02:48:21 +0400] rev 19485
hgweb: always start graph with the revision in url It is the same fix for graph command, as was recently for log. This makes the specified revision be always on top of the graph view. Before the patch, for example with repo having revisions 0, 1, 2, 3 and revision in url being '2', all revisions were shown and the specified one wasn't the first.
Thu, 25 Jul 2013 00:44:00 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Thu, 25 Jul 2013 00:44:00 -0500] rev 19484
merge with i18n
Wed, 24 Jul 2013 09:43:32 -0300 i18n-pt_BR: synchronized with bf6bc4681383 stable
Wagner Bruna <wbruna@yahoo.com> [Wed, 24 Jul 2013 09:43:32 -0300] rev 19483
i18n-pt_BR: synchronized with bf6bc4681383
Thu, 25 Jul 2013 00:33:28 -0500 update: add tracking of interrupted updates (issue3113) stable
Matt Mackall <mpm@selenic.com> [Thu, 25 Jul 2013 00:33:28 -0500] rev 19482
update: add tracking of interrupted updates (issue3113) This takes advantage of the new checkunfinished infrastructure
Thu, 25 Jul 2013 00:00:47 -0500 mq: add checkunfinished support (issue3955) stable
Matt Mackall <mpm@selenic.com> [Thu, 25 Jul 2013 00:00:47 -0500] rev 19481
mq: add checkunfinished support (issue3955)
Wed, 24 Jul 2013 23:51:44 -0500 transplant: add checkunfinished (issue3955) stable
Matt Mackall <mpm@selenic.com> [Wed, 24 Jul 2013 23:51:44 -0500] rev 19480
transplant: add checkunfinished (issue3955) Nobody loves transplant anymore, but it was the first command to have a --continue flag.
Wed, 24 Jul 2013 23:51:44 -0500 histedit: add checkunfinished support (issue3955) stable
Matt Mackall <mpm@selenic.com> [Wed, 24 Jul 2013 23:51:44 -0500] rev 19479
histedit: add checkunfinished support (issue3955) The tests contain a couple corner cases where workarounds are now required. Strictly speaking, these are behavior regressions, but of an extremely obscure and marginal sort. Commits or updates in the middle of a histedit would have almost always been fairly serious user error.
Wed, 24 Jul 2013 23:51:44 -0500 rebase: add checkunfinished support (issue3955) stable
Matt Mackall <mpm@selenic.com> [Wed, 24 Jul 2013 23:51:44 -0500] rev 19478
rebase: add checkunfinished support (issue3955)
Wed, 24 Jul 2013 23:51:44 -0500 rebase: reorder parent check and state storage stable
Matt Mackall <mpm@selenic.com> [Wed, 24 Jul 2013 23:51:44 -0500] rev 19477
rebase: reorder parent check and state storage This could cause a rebase to be 'in progress' even though it aborted.
Wed, 24 Jul 2013 23:51:40 -0500 commands: add checks for unfinished operations (issue3955) stable
Matt Mackall <mpm@selenic.com> [Wed, 24 Jul 2013 23:51:40 -0500] rev 19476
commands: add checks for unfinished operations (issue3955) commands checked: backout bisect commit graft import
Wed, 24 Jul 2013 23:30:24 -0500 update: clear any clearable unfinished operations (issue3955) stable
Matt Mackall <mpm@selenic.com> [Wed, 24 Jul 2013 23:30:24 -0500] rev 19475
update: clear any clearable unfinished operations (issue3955) Unclearable operations will cause an abort.
Wed, 24 Jul 2013 23:27:30 -0500 cmdutil: core functionality to block during multistep commands (issue3955) stable
Matt Mackall <mpm@selenic.com> [Wed, 24 Jul 2013 23:27:30 -0500] rev 19474
cmdutil: core functionality to block during multistep commands (issue3955) This adds a registration point and check functions that will allow commands to check if multistep operations like an interrupted graft or rebase are in progress before proceeding.
Wed, 24 Jul 2013 17:39:29 -0400 histedit: refuse to edit history that contains merges (issue3962) stable
Augie Fackler <raf@durin42.com> [Wed, 24 Jul 2013 17:39:29 -0400] rev 19473
histedit: refuse to edit history that contains merges (issue3962)
Wed, 24 Jul 2013 13:20:44 +0800 largefiles: overridematch() should replace the file path instead of extending (issue3934) stable
Wei, Elson <elson.wei@gmail.com> [Wed, 24 Jul 2013 13:20:44 +0800] rev 19472
largefiles: overridematch() should replace the file path instead of extending (issue3934)
Tue, 23 Jul 2013 17:28:12 -0500 revlog: handle hidden revs in _partialmatch (issue3979) stable
Matt Mackall <mpm@selenic.com> [Tue, 23 Jul 2013 17:28:12 -0500] rev 19471
revlog: handle hidden revs in _partialmatch (issue3979) Looking up hidden prefixes could cause a no node exception Looking up unique non-hidden prefixes could be ambiguous
Tue, 23 Jul 2013 14:18:56 -0500 fileset: handle underbar in symbols stable
Matt Mackall <mpm@selenic.com> [Tue, 23 Jul 2013 14:18:56 -0500] rev 19470
fileset: handle underbar in symbols This was documented, but not implemented.
Sun, 21 Jul 2013 18:45:42 -0500 heads: modernize documentation (issue3992) stable
Matt Mackall <mpm@selenic.com> [Sun, 21 Jul 2013 18:45:42 -0500] rev 19469
heads: modernize documentation (issue3992) The old docs emphasized topological heads rather than branch heads and incorrectly defined branch heads as not having children rather than descendants.
Fri, 19 Jul 2013 16:45:44 -0500 convert: catch empty origpaths in svn gettags (issue3941) stable
Matt Mackall <mpm@selenic.com> [Fri, 19 Jul 2013 16:45:44 -0500] rev 19468
convert: catch empty origpaths in svn gettags (issue3941)
Fri, 19 Jul 2013 12:58:30 -0500 template: fix tabindent docstring (issue2880) stable
Matt Mackall <mpm@selenic.com> [Fri, 19 Jul 2013 12:58:30 -0500] rev 19467
template: fix tabindent docstring (issue2880)
Fri, 19 Jul 2013 00:20:53 -0500 merge default into stable for 2.7 code freeze stable
Matt Mackall <mpm@selenic.com> [Fri, 19 Jul 2013 00:20:53 -0500] rev 19466
merge default into stable for 2.7 code freeze
Fri, 12 Jul 2013 11:14:42 +0900 osutil: consider WindowsError's behaviour to support python 2.4 on Windows
Shun-ichi GOTO <shunichi.goto@gmail.com> [Fri, 12 Jul 2013 11:14:42 +0900] rev 19465
osutil: consider WindowsError's behaviour to support python 2.4 on Windows This change treat the ESRCH error as ENOENT like WindowsError class does in python 2.5 or later. Without this change, some try..execpt code which expects errno is ENOENT may fail. Actually hg command does not work with python 2.4 on Windows. CreateFile() will fail with error code ESRCH when parent directory of specified path is not exist, or ENOENT when parent directory exist but file is not exist. Two errors are same in the mean of "file is not exist". So WindowsError class treats error code ESRCH as ENOENT in python 2.5 or later, but python 2.4 does not. Actual results with python 2.4: >>> errno.ENOENT 2 >>> errno.ESRCH 3 >>> WindowsError(3, 'msg').errno 3 >>> WindowsError(3, 'msg').args (3, 'msg') And with python 2.5 (or later): >>> errno.ENOENT 2 >>> errno.ESRCH 3 >>> WindowsError(3, 'msg').errno 2 >>> WindowsError(3, 'msg').args (3, 'msg') Note that there is no need to fix osutil.c because it never be used with python 2.4.
Wed, 17 Jul 2013 10:40:40 -0400 churn: split email aliases from the right
Matthew Turk <matthewturk@gmail.com> [Wed, 17 Jul 2013 10:40:40 -0400] rev 19464
churn: split email aliases from the right This splits churn email aliases from the right, to enable incorrectly-specified addresses that include equal signs to be mapped to correct addresses. This will enable aliasing of bad addresses (typically typos) such as: sername=myusername that appear in the churn output through a churn alias such as: sername=myusername = myusername whereas previously splitting from the left would not enable this behavior.
Sun, 14 Jul 2013 05:35:04 +0400 hgweb: highlight line which is linked to at annotate view
Alexander Plavin <me@aplavin.ru> [Sun, 14 Jul 2013 05:35:04 +0400] rev 19463
hgweb: highlight line which is linked to at annotate view
Sat, 13 Jul 2013 02:36:29 +0400 hgweb: always start log with searched revision
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 02:36:29 +0400] rev 19462
hgweb: always start log with searched revision This makes the specified revision be always on top of the list. Before the patch, for example with repo having revisions 0, 1, 2, 3 and user searching for '2', all revisions were shown and the specified one wasn't the first.
Mon, 01 Jul 2013 06:50:58 +0200 util: check if re2 works before using it (issue 3964)
Simon Heimberg <simohe@besonet.ch> [Mon, 01 Jul 2013 06:50:58 +0200] rev 19461
util: check if re2 works before using it (issue 3964)
Thu, 18 Jul 2013 23:22:59 -0500 run-tests: backout 4f32747879d1 line endings change
Matt Mackall <mpm@selenic.com> [Thu, 18 Jul 2013 23:22:59 -0500] rev 19460
run-tests: backout 4f32747879d1 line endings change It made the windows buildbot sad.
Sat, 13 Jul 2013 17:32:54 +0400 hgweb: highlight line which is linked to at comparison view
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 17:32:54 +0400] rev 19459
hgweb: highlight line which is linked to at comparison view
Sat, 13 Jul 2013 17:31:53 +0400 hgweb: change highlighted line color to be different from 'inserted' color
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 17:31:53 +0400] rev 19458
hgweb: change highlighted line color to be different from 'inserted' color This changes line highlight color from a fain yellow (#ffff99) to a faint blue (#bfdfff), because yellow color is used in comparison view for inserted lines. This new color is okay for people with different forms of color blindness (tested with a simulator): a) this color looks quite different from other used backgrounds b) text doesn't lose distinction on this color
Fri, 19 Jul 2013 01:40:57 +0200 convert: fix bad conversion of copies when hg.startrev is specified
Mads Kiilerich <madski@unity3d.com> [Fri, 19 Jul 2013 01:40:57 +0200] rev 19457
convert: fix bad conversion of copies when hg.startrev is specified The 'copynode' was looked up in self.keep as if it was a changeset node. It is however a filelog node, and self.keep would thus fail if it actually looked at its parameter ... which it only did if a startrev was specified. Instead we now don't check the copy node - we don't have to. It must have been copied from one of the parents, and we already check whether one of the parents have the copy source. We could perhaps use linkrev to see if the corresponding changeset was converted ... but that would sometimes be wrong. The existing test of this was wrong - now it is better, but it seems like it exposes a 'log' issue.
Fri, 19 Jul 2013 01:18:15 +0200 test-convert-hg-startrev: fix test for copy removal on missing parent
Mads Kiilerich <madski@unity3d.com> [Fri, 19 Jul 2013 01:18:15 +0200] rev 19456
test-convert-hg-startrev: fix test for copy removal on missing parent The test assumed that 'b' was missing just because the changeset that introduced 'b' wasn't converted ... but 'b' was also not removed before the start revision, and the parent was thus not missing at all. Instead we introduce a file 'f' in rev 0 and remove it in rev 1 so the copy source really doesn't exist in the repo that is converted from rev 1.
Sat, 13 Jul 2013 18:06:57 +0400 hgweb: make stripes in diffstat with CSS
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 18:06:57 +0400] rev 19455
hgweb: make stripes in diffstat with CSS
Sat, 13 Jul 2013 18:03:35 +0400 hgweb: make stripes in file log with CSS
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 18:03:35 +0400] rev 19454
hgweb: make stripes in file log with CSS
Sat, 13 Jul 2013 18:02:34 +0400 hgweb: make stripes in graph with CSS
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 18:02:34 +0400] rev 19453
hgweb: make stripes in graph with CSS
Sat, 13 Jul 2013 17:59:00 +0400 hgweb: make stripes in log and search with CSS
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 17:59:00 +0400] rev 19452
hgweb: make stripes in log and search with CSS
Sat, 13 Jul 2013 17:51:43 +0400 hgweb: make stripes in branch list with CSS
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 17:51:43 +0400] rev 19451
hgweb: make stripes in branch list with CSS
Sat, 13 Jul 2013 17:49:20 +0400 hgweb: make stripes in repo list with CSS
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 17:49:20 +0400] rev 19450
hgweb: make stripes in repo list with CSS
Sat, 13 Jul 2013 17:43:45 +0400 hgweb: make stripes in file annotate view with CSS
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 17:43:45 +0400] rev 19449
hgweb: make stripes in file annotate view with CSS
Sat, 13 Jul 2013 17:44:57 +0400 hgweb: make stripes in tag list with CSS
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 17:44:57 +0400] rev 19448
hgweb: make stripes in tag list with CSS
Sat, 13 Jul 2013 17:44:46 +0400 hgweb: make stripes in directory view with CSS
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 17:44:46 +0400] rev 19447
hgweb: make stripes in directory view with CSS
Sat, 13 Jul 2013 17:43:19 +0400 hgweb: make stripes in bookmark list with CSS
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 17:43:19 +0400] rev 19446
hgweb: make stripes in bookmark list with CSS
Thu, 18 Jul 2013 16:29:05 -0500 tests: update for commit --secret
Matt Mackall <mpm@selenic.com> [Thu, 18 Jul 2013 16:29:05 -0500] rev 19445
tests: update for commit --secret
Sun, 14 Jul 2013 21:50:52 +0800 gpg: show "Unknown key ID xxxxxxxx" when the status is ERRSIG
Wei, Elson <elson.wei@gmail.com> [Sun, 14 Jul 2013 21:50:52 +0800] rev 19444
gpg: show "Unknown key ID xxxxxxxx" when the status is ERRSIG
Sun, 14 Jul 2013 21:50:45 +0800 gpg: add shortkey() to convert from long id to short
Wei, Elson <elson.wei@gmail.com> [Sun, 14 Jul 2013 21:50:45 +0800] rev 19443
gpg: add shortkey() to convert from long id to short
Fri, 12 Jul 2013 10:10:46 +0800 gpg: getkeys() removes unused returning value "err"
Wei, Elson <elson.wei@gmail.com> [Fri, 12 Jul 2013 10:10:46 +0800] rev 19442
gpg: getkeys() removes unused returning value "err"
Fri, 12 Jul 2013 10:05:11 +0800 gpg: treat "ERRSIG" as a valid key id but no fingerprint
Wei, Elson <elson.wei@gmail.com> [Fri, 12 Jul 2013 10:05:11 +0800] rev 19441
gpg: treat "ERRSIG" as a valid key id but no fingerprint
Thu, 11 Jul 2013 13:11:41 -0400 commit: enable --secret option
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 11 Jul 2013 13:11:41 -0400] rev 19440
commit: enable --secret option At the moment, creating secret commits is slightly cumbersome. They can either be created by changing the default commit phase to secret or by doing `hg phase --secret --force`. Both of these make secret commits appear to be like some kind of advanced feature. Secret commits, however, should be a convenient feature for people who want to work on a private branch without affecting anyone else. There should therefore be a prominent and convenient method for creating secret commits. Since the default phase is draft and there is no need to use --force to go from a secret phase to any other phase, this patch intentionally does not add --draft and --public options.
Wed, 17 Jul 2013 23:58:04 +0200 merge: deprecate the --force option
Florence Laguzet <florence.laguzet@gmail.com> [Wed, 17 Jul 2013 23:58:04 +0200] rev 19439
merge: deprecate the --force option The --force option in merge does not make what people think it does so it may not be visible to everyone. I have local changes and want to pull one's changes which made 2 heads. The --force option in help says -f --force force a merge with outstanding changes so I can expect that I can use it to force the merge and commit it in my local repository without taking my local changes into account. But merging with -f keeps local changes and "add" them: they must be committed or reverted before doing the merge commit. The merge -f cannot be reverted so it leads my repository in a bad state: cannot commit merge and don't want to revert/commit local changes yet. Message in help have been updated to emphasize the fact that local changes are included in the merge.
Thu, 18 Jul 2013 09:42:44 -0700 run-tests: revert previous commit, run() waits after a timeout
Brendan Cully <brendan@kublai.com> [Thu, 18 Jul 2013 09:42:44 -0700] rev 19438
run-tests: revert previous commit, run() waits after a timeout
Thu, 18 Jul 2013 09:39:01 -0700 run-tests: reap timed-out zombies
Brendan Cully <brendan@kublai.com> [Thu, 18 Jul 2013 09:39:01 -0700] rev 19437
run-tests: reap timed-out zombies
Fri, 12 Jul 2013 01:58:48 +0400 hgweb: run search instead of showing wrong error for ambigious identifier
Alexander Plavin <me@aplavin.ru> [Fri, 12 Jul 2013 01:58:48 +0400] rev 19436
hgweb: run search instead of showing wrong error for ambigious identifier Before this when multiple changesets hashes in the repos started with the search query string, error was given that the revision isn't found, and it was misleading. Now a simple keyword search runs in this case.
Wed, 17 Jul 2013 17:34:47 -0700 doc: bump copyright year
Siddharth Agarwal <sid0@fb.com> [Wed, 17 Jul 2013 17:34:47 -0700] rev 19435
doc: bump copyright year
Wed, 17 Jul 2013 17:34:30 -0700 version: bump copyright year
Siddharth Agarwal <sid0@fb.com> [Wed, 17 Jul 2013 17:34:30 -0700] rev 19434
version: bump copyright year
Sat, 13 Jul 2013 00:57:56 +0400 hgweb: add line wrapping switch to file diff and changeset views
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 00:57:56 +0400] rev 19433
hgweb: add line wrapping switch to file diff and changeset views
Sat, 13 Jul 2013 00:57:10 +0400 hgweb: file diff and changesets views behave like file source view
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 00:57:10 +0400] rev 19432
hgweb: file diff and changesets views behave like file source view This gives all the benefits introduced before for file source view, namely code selection without line numbers and correct indents, highlighting line which is linked to, long lines wrapping. Implementation strategy is also the same as for file source view: all the lines are put in a sigle pre tag with span's for each line. Correct line numbering (same as before this patch) is achieved with nested CSS counters.
Fri, 12 Jul 2013 23:47:56 +0400 hgweb: introduce separate classes for stripey background
Alexander Plavin <me@aplavin.ru> [Fri, 12 Jul 2013 23:47:56 +0400] rev 19431
hgweb: introduce separate classes for stripey background Introduce stripes2 and stripes4 classes to support different structure. They will be useful to implement stripes with pure CSS everywhere instead of current server-side implementation.
Fri, 12 Jul 2013 15:58:13 +0400 hgweb: add line wrapping switch to file source view
Alexander Plavin <me@aplavin.ru> [Fri, 12 Jul 2013 15:58:13 +0400] rev 19430
hgweb: add line wrapping switch to file source view This uses classList property, which is well-supported now: both Chromium 8.0+, Firefox 3.6+ and Opera 11.5+ support it, as well as relatively modern versions of other browsers.
Tue, 09 Jul 2013 02:08:24 +0400 hgweb: add changelog and search templates to raw style
Alexander Plavin <me@aplavin.ru> [Tue, 09 Jul 2013 02:08:24 +0400] rev 19429
hgweb: add changelog and search templates to raw style This will make testing hgweb search and other things simpler and more concise, as there is no extra HTML code in the raw style.
Fri, 12 Jul 2013 16:01:11 +0400 hgweb: toggleDiffstat function instead of showDiffstat and hideDiffstat
Alexander Plavin <me@aplavin.ru> [Fri, 12 Jul 2013 16:01:11 +0400] rev 19428
hgweb: toggleDiffstat function instead of showDiffstat and hideDiffstat This eliminates the need of two almost equal functions, makes the code cleaner.
Wed, 03 Jul 2013 21:50:20 +0900 doc: make i18n man and html
Takumi IINO <trot.thunder@gmail.com> [Wed, 03 Jul 2013 21:50:20 +0900] rev 19427
doc: make i18n man and html Allow overwrite LANGUAGE and LC_ALL make variables, for make i18n man and html. After this patch, we can make i18n man and html by following command: $ make clean all LANGUAGE=ja
Wed, 03 Jul 2013 21:49:43 +0900 doc: make man and html from translated documents
Takumi IINO <trot.thunder@gmail.com> [Wed, 03 Jul 2013 21:49:43 +0900] rev 19426
doc: make man and html from translated documents Before this patch, man and html are english only, and there sources are not translatable. This patch make translatable all documents.
Wed, 03 Jul 2013 21:49:41 +0900 gendoc: dispatch print document content by commandline arguments
Takumi IINO <trot.thunder@gmail.com> [Wed, 03 Jul 2013 21:49:41 +0900] rev 19425
gendoc: dispatch print document content by commandline arguments Before this patch, gendoc.py only prints hg.1.gendoc.txt content. This adds any content print function.
Wed, 03 Jul 2013 21:49:39 +0900 gendoc: add showtopic
Takumi IINO <trot.thunder@gmail.com> [Wed, 03 Jul 2013 21:49:39 +0900] rev 19424
gendoc: add showtopic This function prints any topic.
Wed, 03 Jul 2013 21:49:37 +0900 gendoc: rename to showdoc from show_doc
Takumi IINO <trot.thunder@gmail.com> [Wed, 03 Jul 2013 21:49:37 +0900] rev 19423
gendoc: rename to showdoc from show_doc This function prints hg.1.gendoc.txt content.
Tue, 16 Jul 2013 01:29:14 +0200 check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch> [Tue, 16 Jul 2013 01:29:14 +0200] rev 19422
check-code: automatically preppend "warning: " to all warning messages Some warnings had "warning: " at the beginning of their message. Now this is done consistent for all messages. Especially in test-check-code-hg.t it is an advantage to see warnings at once because only exceptions to them are tolerated. It is (almost) as obvious as before a6180647ea. The prefix will not remain when a warning is changed to a failure. A change like a91387a37f will not be necessary anymore.
Wed, 17 Jul 2013 10:49:34 +0200 rollback: add reference to "hg commit --amend"
Martin Geisler <martin@geisler.net> [Wed, 17 Jul 2013 10:49:34 +0200] rev 19421
rollback: add reference to "hg commit --amend" Now that rollback is deprecated (yay!) users might need a pointer to the alternative for 99% of the cases where I used rollback.
Sat, 13 Jul 2013 23:58:01 +0200 run-tests: generally handle line endings on windows by re
Simon Heimberg <simohe@besonet.ch> [Sat, 13 Jul 2013 23:58:01 +0200] rev 19420
run-tests: generally handle line endings on windows by re Recently this regexp was only appended when running a python test. When running a tsttest there was a separate handling for each line type. Simplify and unify this.
Sat, 13 Jul 2013 23:57:55 +0200 run-tests: test for os.altsep instead of os.name when checking \ for /
Simon Heimberg <simohe@besonet.ch> [Sat, 13 Jul 2013 23:57:55 +0200] rev 19419
run-tests: test for os.altsep instead of os.name when checking \ for / This tells more explicitly what it is about
Mon, 15 Jul 2013 01:05:42 +0400 hgweb: move local changelist function to the beginning of the parent one
Alexander Plavin <me@aplavin.ru> [Mon, 15 Jul 2013 01:05:42 +0400] rev 19418
hgweb: move local changelist function to the beginning of the parent one
Sat, 13 Jul 2013 17:51:24 +0400 hgweb: get rid of branchentry template duplication
Alexander Plavin <me@aplavin.ru> [Sat, 13 Jul 2013 17:51:24 +0400] rev 19417
hgweb: get rid of branchentry template duplication
Wed, 17 Jul 2013 14:25:35 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 17 Jul 2013 14:25:35 -0500] rev 19416
merge with stable
Wed, 17 Jul 2013 13:42:08 -0700 run-tests: replace popen locking with a noop _cleanup handler on py24
Brendan Cully <brendan@kublai.com> [Wed, 17 Jul 2013 13:42:08 -0700] rev 19415
run-tests: replace popen locking with a noop _cleanup handler on py24 This also avoids the race condition, and isn't detrimental to job scheduling.
Wed, 17 Jul 2013 13:02:12 -0700 run-tests: only lock Popen wait/poll on python 2.4
Brendan Cully <brendan@kublai.com> [Wed, 17 Jul 2013 13:02:12 -0700] rev 19414
run-tests: only lock Popen wait/poll on python 2.4 It can cause scheduling bubbles and is not necessary on newer pythons.
Wed, 17 Jul 2013 12:45:12 -0700 run-tests: lock popen wait/poll
Brendan Cully <brendan@kublai.com> [Wed, 17 Jul 2013 12:45:12 -0700] rev 19413
run-tests: lock popen wait/poll In python2.4, any call to Popen() may attempt to wait on any active process, and wait is not thread-safe. Make it thread-safe. See http://bugs.python.org/issue1731717 for details.
Wed, 17 Jul 2013 14:20:35 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Wed, 17 Jul 2013 14:20:35 -0500] rev 19412
merge with i18n
Sun, 14 Jul 2013 21:20:02 +0200 i18n-de: fixed some strings about stripping stable
Martin Schröder <martin.schroeder@nerdluecht.de> [Sun, 14 Jul 2013 21:20:02 +0200] rev 19411
i18n-de: fixed some strings about stripping
Sun, 14 Jul 2013 21:07:44 +0200 i18n-de: synchronized with fbdac607bff3 stable
Martin Schröder <martin.schroeder@nerdluecht.de> [Sun, 14 Jul 2013 21:07:44 +0200] rev 19410
i18n-de: synchronized with fbdac607bff3
Tue, 16 Jul 2013 17:10:26 -0500 rollback: mark as deprecated
Matt Mackall <mpm@selenic.com> [Tue, 16 Jul 2013 17:10:26 -0500] rev 19409
rollback: mark as deprecated
Tue, 16 Jul 2013 15:18:12 -0500 worker: properly report errors from worker processes (issue3982)
Matt Mackall <mpm@selenic.com> [Tue, 16 Jul 2013 15:18:12 -0500] rev 19408
worker: properly report errors from worker processes (issue3982)
Tue, 16 Jul 2013 12:44:11 -0500 run-tests: patch over py2.4 proc.wait() race
Matt Mackall <mpm@selenic.com> [Tue, 16 Jul 2013 12:44:11 -0500] rev 19407
run-tests: patch over py2.4 proc.wait() race
Tue, 16 Jul 2013 11:53:53 -0500 worker: check problem state correctly (issue3982)
Matt Mackall <mpm@selenic.com> [Tue, 16 Jul 2013 11:53:53 -0500] rev 19406
worker: check problem state correctly (issue3982) If a large update triggered an abort, it was possible for the main thread to still update the dirstate. This fix is incomplete, as the failing worker now doesn't generate a proper error message. This is difficult in the fork-based framework, which relies on exceptions propagating to the top of the dispatcher for formatting.
Tue, 16 Jul 2013 11:18:16 -0500 sshpeer: mark _validrepo internal
Matt Mackall <mpm@selenic.com> [Tue, 16 Jul 2013 11:18:16 -0500] rev 19405
sshpeer: mark _validrepo internal
Tue, 16 Jul 2013 11:17:01 -0500 progress: respect HGPLAIN
Matt Mackall <mpm@selenic.com> [Tue, 16 Jul 2013 11:17:01 -0500] rev 19404
progress: respect HGPLAIN
Thu, 11 Jul 2013 19:29:23 -0500 tip: deprecate the tip command
Matt Mackall <mpm@selenic.com> [Thu, 11 Jul 2013 19:29:23 -0500] rev 19403
tip: deprecate the tip command
Thu, 11 Jul 2013 19:28:54 -0500 tag: remove incorrect reference to tip
Matt Mackall <mpm@selenic.com> [Thu, 11 Jul 2013 19:28:54 -0500] rev 19402
tag: remove incorrect reference to tip
Thu, 11 Jul 2013 19:28:26 -0500 log: remove tip from example
Matt Mackall <mpm@selenic.com> [Thu, 11 Jul 2013 19:28:26 -0500] rev 19401
log: remove tip from example
Thu, 11 Jul 2013 19:28:01 -0500 cat: remove incorrect reference to tip
Matt Mackall <mpm@selenic.com> [Thu, 11 Jul 2013 19:28:01 -0500] rev 19400
cat: remove incorrect reference to tip
Thu, 11 Jul 2013 19:26:53 -0500 share: remove reference to tip
Matt Mackall <mpm@selenic.com> [Thu, 11 Jul 2013 19:26:53 -0500] rev 19399
share: remove reference to tip
Thu, 11 Jul 2013 19:26:34 -0500 rebase: simplify references to branch tips
Matt Mackall <mpm@selenic.com> [Thu, 11 Jul 2013 19:26:34 -0500] rev 19398
rebase: simplify references to branch tips
Thu, 11 Jul 2013 19:25:44 -0500 mq: remove reference to tip
Matt Mackall <mpm@selenic.com> [Thu, 11 Jul 2013 19:25:44 -0500] rev 19397
mq: remove reference to tip
Thu, 11 Jul 2013 17:01:54 +0400 hgweb: show current search query in the input field
Alexander Plavin <me@aplavin.ru> [Thu, 11 Jul 2013 17:01:54 +0400] rev 19396
hgweb: show current search query in the input field
Sun, 14 Jul 2013 17:23:07 +0200 mq: use an unfiltered property cache for the queue object
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 14 Jul 2013 17:23:07 +0200] rev 19395
mq: use an unfiltered property cache for the queue object The same `queue` object should be used in all situations. This allows to store global states on the object (like the reworked shelve extension plans to). The queue object does not need to be distinct for all possible views (no reference to the repo/view used at creation time) it's even a bit surprising that mq still works with the current code.
Mon, 15 Jul 2013 15:19:43 -0700 summary: use missing ancestors algorithm to find new commits
Siddharth Agarwal <sid0@fb.com> [Mon, 15 Jul 2013 15:19:43 -0700] rev 19394
summary: use missing ancestors algorithm to find new commits For a repository with around 520,000 commits and 190,000 files, this reduces the time hg summary takes from 5.5 seconds to 2.75.
Tue, 16 Jul 2013 11:13:18 -0500 Merge histedit fixes from stable.
Augie Fackler <raf@durin42.com> [Tue, 16 Jul 2013 11:13:18 -0500] rev 19393
Merge histedit fixes from stable.
Mon, 15 Jul 2013 15:04:42 +0200 histedit: use base for computing renames when folding (issue3729) stable
Martin Geisler <martin@geisler.net> [Mon, 15 Jul 2013 15:04:42 +0200] rev 19392
histedit: use base for computing renames when folding (issue3729) When a file was renamed in the very first changeset being histedited, the rename was not detected. Consider a history like this: 0 base: add a.txt 1 first: rename a.txt to b.txt 2 last: edit b.txt When 1 and 2 are edited, copies.pathcopies(first, last) correctly returns that nothing was renamed. We must instead use copies.pathcopies(first, last) to detect the initial rename.
Mon, 15 Jul 2013 13:20:39 +0200 test-histedit-fold: remove unnecessary --template stable
Martin Geisler <martin@geisler.net> [Mon, 15 Jul 2013 13:20:39 +0200] rev 19391
test-histedit-fold: remove unnecessary --template The template is already set by the logt alias.
Sat, 29 Jun 2013 14:27:53 +0400 templater: sort functions alphabetically, as filters are
Alexander Plavin <me@aplavin.ru> [Sat, 29 Jun 2013 14:27:53 +0400] rev 19390
templater: sort functions alphabetically, as filters are
Thu, 04 Jul 2013 14:19:43 +0400 hgweb: color line which is linked to in file source view
Alexander Plavin <me@aplavin.ru> [Thu, 04 Jul 2013 14:19:43 +0400] rev 19389
hgweb: color line which is linked to in file source view Browser compatibility (':target' selector used): IE 8+, FF 3.5+, Safari 3.1+, Opera 9.5+, Chromium 4+, all popular mobile browsers.
Thu, 04 Jul 2013 14:19:13 +0400 hgweb: wrap lines in file source view
Alexander Plavin <me@aplavin.ru> [Thu, 04 Jul 2013 14:19:13 +0400] rev 19388
hgweb: wrap lines in file source view
Thu, 04 Jul 2013 14:18:44 +0400 hgweb: code selection without line numbers in file source view
Alexander Plavin <me@aplavin.ru> [Thu, 04 Jul 2013 14:18:44 +0400] rev 19387
hgweb: code selection without line numbers in file source view All the source lines are put in a <pre> tag, which gives correct display and copy&paste in both Chromium (WebKit) and FireFox: line numbers are not copied, all the tabs and spaces are kept. This doesn't change the visual appearance of the view compared to current hgweb version and doesn't use any JS code. Also, stripes in this view are now generated clientside with CSS. This implementation is chosen because other variants have important issues: Strategy FF Chrome current D,LT,E,T,L D,L pre S,NW S,NW pre/div/nbsp LT,E,T,TS,NW TS,NW pre/div/br LT,E,T,NW NW ol/li/nbsp LT,E,T,TS,AJ TS,AJ ol/li/br LT,E,T,AJ AJ pre/span LV LV Legend Strategies: - current: implemented in hgweb before this patch, i.e. divs for each line, and line numbers links in the div too - pre: the whole code in one pre tag with newlines, all line numbers in another one with 'float: left' - pre/div/{nbsp,br}: same as just 'pre', but separate divs for each line and &nbsp; or <br> instead of empty lines (otherwise they are not copied at all) - ol/li/{nbsp,br}: a single ol with li's and divs for each line, &nbsp; or <br> same as in previous strategy - pre/span: this patch Problems: D = (very minor) display problems, like wrong width of leading tabs LT = loses leading/trailing whitespace E = loses embedded whitespace B = loses blank lines T = loses tabs L = selects line numbers LV = (only) visually selects line numbers LVE = (only) visually selects line numbers at empty lines S = no stripes (and no ability to easily highlight lines-which-are-linked-at in the future) TS = space copied instead of empty line AJ = get anchor links only with JS (they work even without) NW = no linewrap easily possible (in future) As for browser versions compatibility, the CSS tricks used are supported in (according to caniuse.com): a) line numbers generation with 'content:' property and CSS counters: IE 8+, all other popular browsers (in pre-WebKit Opera numbers are being copied) b) stripes ('nth-child' selector): IE 8+, FF 3.5+, Safari 3.2+, Opera 9.5+, all other popular browsers c) line numbers are not visually selected ('user-select:' property): IE 10+, Opera 15.0+, all other popular browsers This patch is based on a demo implementation by Martin Geisler <martin@geisler.net>.
Sat, 06 Jul 2013 21:48:07 +0200 tests: print line numbers when checking code
Simon Heimberg <simohe@besonet.ch> [Sat, 06 Jul 2013 21:48:07 +0200] rev 19386
tests: print line numbers when checking code When an exception will be listed the line numbers can be replaced with glob as it is done in test-check-pyflakes.t
Sat, 06 Jul 2013 21:48:01 +0200 tests: rename files to py extension instead of copying a 2nd time
Simon Heimberg <simohe@besonet.ch> [Sat, 06 Jul 2013 21:48:01 +0200] rev 19385
tests: rename files to py extension instead of copying a 2nd time
Sat, 06 Jul 2013 21:47:56 +0200 tests: check-code all python files in one run
Simon Heimberg <simohe@besonet.ch> [Sat, 06 Jul 2013 21:47:56 +0200] rev 19384
tests: check-code all python files in one run
Thu, 04 Jul 2013 23:05:59 +0900 win32mbcs: wrap util.split()
Shun-ichi GOTO <shunichi.goto@gmail.com> [Thu, 04 Jul 2013 23:05:59 +0900] rev 19383
win32mbcs: wrap util.split() util.split() should be wrapped because it is an alias of unsafe os.path.split().
Mon, 01 Jul 2013 06:50:58 +0200 check-code: concatenate "check-code" on compile time
Simon Heimberg <simohe@besonet.ch> [Mon, 01 Jul 2013 06:50:58 +0200] rev 19382
check-code: concatenate "check-code" on compile time The python compiler concatenates two string constants. Use this instead of doing it on run time or instruct the user how to do it. The strings "no-check-code" and "check-code-ignore" has to be specially written for not skipping some checking of the code of this file.
Mon, 01 Jul 2013 06:50:58 +0200 tests: do not skip code-checking on some whole files
Simon Heimberg <simohe@besonet.ch> [Mon, 01 Jul 2013 06:50:58 +0200] rev 19381
tests: do not skip code-checking on some whole files In filterpyflakes the term no-check-code was probably by accident. In the test the intention was not to skip the entire file but only one line. But any skipping seems to be unnecessary since a longer time.
Mon, 01 Jul 2013 06:50:58 +0200 check-code: do not warn on printf \\x or \\[1-9]
Simon Heimberg <simohe@besonet.ch> [Mon, 01 Jul 2013 06:50:58 +0200] rev 19380
check-code: do not warn on printf \\x or \\[1-9] When there is a double backslash the following char does not have any special meaning. So do not warn on this. Remove the now obsolete no-check-code statement. (It was used wrongly anyway, it skipped checking the entire file.)
Tue, 06 Nov 2012 00:22:56 +0100 summary: remove passing of rev because summary does not have this
Simon Heimberg <simohe@besonet.ch> [Tue, 06 Nov 2012 00:22:56 +0100] rev 19379
summary: remove passing of rev because summary does not have this The command summary does not have a rev argument, so passing this results is None always. Therefore pass None explicitly.
Mon, 01 Jul 2013 20:48:56 +0200 cleanup: drop unused variables and an unused import
Simon Heimberg <simohe@besonet.ch> [Mon, 01 Jul 2013 20:48:56 +0200] rev 19378
cleanup: drop unused variables and an unused import
Mon, 01 Jul 2013 20:48:55 +0200 tests: run pyflakes on files from manifest which could be python files
Simon Heimberg <simohe@besonet.ch> [Mon, 01 Jul 2013 20:48:55 +0200] rev 19377
tests: run pyflakes on files from manifest which could be python files Skip a binary file because pyflakes 0.4.0 aborts on it.
Tue, 09 Jul 2013 13:43:09 -0500 Merge with stable.
Augie Fackler <raf@durin42.com> [Tue, 09 Jul 2013 13:43:09 -0500] rev 19376
Merge with stable.
Mon, 01 Jul 2013 18:07:33 -0500 Added signature for changeset 009794acc6e3 stable
Matt Mackall <mpm@selenic.com> [Mon, 01 Jul 2013 18:07:33 -0500] rev 19375
Added signature for changeset 009794acc6e3
Mon, 01 Jul 2013 18:07:29 -0500 Added tag 2.6.3 for changeset 009794acc6e3 stable
Matt Mackall <mpm@selenic.com> [Mon, 01 Jul 2013 18:07:29 -0500] rev 19374
Added tag 2.6.3 for changeset 009794acc6e3
Mon, 01 Jul 2013 11:09:29 -0300 merge with i18n stable 2.6.3
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 01 Jul 2013 11:09:29 -0300] rev 19373
merge with i18n
Mon, 01 Jul 2013 05:25:53 +0900 i18n-ja: synchronized with ec17ddecdf64 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 01 Jul 2013 05:25:53 +0900] rev 19372
i18n-ja: synchronized with ec17ddecdf64
Sun, 30 Jun 2013 15:19:39 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 30 Jun 2013 15:19:39 -0500] rev 19371
merge with stable
Sun, 30 Jun 2013 15:06:22 -0500 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Sun, 30 Jun 2013 15:06:22 -0500] rev 19370
merge with i18n
Tue, 25 Jun 2013 18:45:33 -0400 i18n-fr: remove duplicate paragraphs stable
Martin Geisler <martin@geisler.net> [Tue, 25 Jun 2013 18:45:33 -0400] rev 19369
i18n-fr: remove duplicate paragraphs The paragraphs were added as part of the automatic conversion in 42b46d3cb366. Thanks to Timeless for the initial patch.
Tue, 25 Jun 2013 18:45:33 -0400 i18n-fr: remove extra empty line at end of msgtr stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19368
i18n-fr: remove extra empty line at end of msgtr
Tue, 25 Jun 2013 18:45:33 -0400 i18n-fr: fix malformed literal blocks stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19367
i18n-fr: fix malformed literal blocks
Tue, 25 Jun 2013 18:45:33 -0400 i18n-fr: remove extra trailing newline stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19366
i18n-fr: remove extra trailing newline
Tue, 25 Jun 2013 18:45:33 -0400 i18n-it: remove extra trailing newlines stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19365
i18n-it: remove extra trailing newlines
Tue, 25 Jun 2013 18:45:33 -0400 i18n-sv: fix malformed literal block stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19364
i18n-sv: fix malformed literal block
Tue, 25 Jun 2013 18:45:33 -0400 i18n-de: remove extra format character stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19363
i18n-de: remove extra format character
Tue, 25 Jun 2013 18:45:33 -0400 i18n-de: add missing format character stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19362
i18n-de: add missing format character
Tue, 25 Jun 2013 18:45:33 -0400 i18n-de: add missing newline stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19361
i18n-de: add missing newline
Tue, 25 Jun 2013 18:45:33 -0400 i18n-de: add missing heading underline stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19360
i18n-de: add missing heading underline
Tue, 25 Jun 2013 18:45:33 -0400 i18n-de: use same format character as in msgid stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:33 -0400] rev 19359
i18n-de: use same format character as in msgid
Tue, 25 Jun 2013 18:45:32 -0400 i18n-de: remove duplicate paragraph stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19358
i18n-de: remove duplicate paragraph It was added in the automatic conversion done in f837e7ea0e73.
Tue, 25 Jun 2013 18:45:32 -0400 i18n-de: fix malformed note directive stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19357
i18n-de: fix malformed note directive
Tue, 25 Jun 2013 18:45:32 -0400 i18n-de: remove extra format character stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19356
i18n-de: remove extra format character
Tue, 25 Jun 2013 18:45:32 -0400 i18n-de: add missing literal block stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19355
i18n-de: add missing literal block
Tue, 25 Jun 2013 18:45:32 -0400 i18n-it: remove extra trailing newline and fix translation stable
Martin Geisler <martin@geisler.net> [Tue, 25 Jun 2013 18:45:32 -0400] rev 19354
i18n-it: remove extra trailing newline and fix translation Thanks to Timeless for flagging the extra newline.
Tue, 25 Jun 2013 18:45:32 -0400 i18n-de: remove bad fuzzy translations stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19353
i18n-de: remove bad fuzzy translations These were flagged because they had the wrong number of format characters. Reviewed by Martin Geisler to ensure that the translation couldn't be easily updated to the correct number of format characters.
Tue, 25 Jun 2013 18:45:32 -0400 i18n-da: remove bad fuzzy translation stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19352
i18n-da: remove bad fuzzy translation Reviewed by Martin Geisler.
Tue, 25 Jun 2013 18:45:32 -0400 i18n-da: remove extra trailing newline stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19351
i18n-da: remove extra trailing newline
Tue, 25 Jun 2013 18:45:32 -0400 i18n-da: add missing newline stable
timeless@mozdev.org [Tue, 25 Jun 2013 18:45:32 -0400] rev 19350
i18n-da: add missing newline
Tue, 25 Jun 2013 18:45:32 -0400 i18n-da: remove extra trailing newline and fix translation stable
Martin Geisler <martin@geisler.net> [Tue, 25 Jun 2013 18:45:32 -0400] rev 19349
i18n-da: remove extra trailing newline and fix translation Thanks to Timeless for flagging the extra newline.
(0) -10000 -3000 -1000 -768 +768 +1000 +3000 +10000 +30000 tip