Wed, 27 May 2015 11:55:39 -0700 test: copy test-ssh.t to test-ssh-bundle1.t
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 11:55:39 -0700] rev 25375
test: copy test-ssh.t to test-ssh-bundle1.t We want to keep both code paths tested. The test is a bit too extensive to simply introduce dual testing in it so we make a copy for each protocol version.
Wed, 27 May 2015 04:39:24 -0700 test: lock test-unbundlehash to bundle1 usage
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 04:39:24 -0700] rev 25374
test: lock test-unbundlehash to bundle1 usage It is testing a bundle1 specific behavior. Bundle2 has its own way there. See inline comment for details.
Wed, 27 May 2015 06:42:42 -0700 test: use bundle2 in test-acl
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 06:42:42 -0700] rev 25373
test: use bundle2 in test-acl This test makes extensive use of --debug so moving to bundle2 based exchange has a massive impact. We do it early to reduce the noise create by a future usage of bundle2 as the default protocol.
Wed, 27 May 2015 11:37:11 -0700 test: use both bundle formats in test-pull-http
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 11:37:11 -0700] rev 25372
test: use both bundle formats in test-pull-http It is valuable to have both formats tested.
Wed, 27 May 2015 06:52:23 -0700 test: use bundle2 in test-http-proxy
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 06:52:23 -0700] rev 25371
test: use bundle2 in test-http-proxy The proxy test does not care about what protocol is used, but the new protocol implies different traffic (and therefore different log output). We switch it to bundle2 early to minimise the noise of using bundle2 for exchange by default.
Wed, 27 May 2015 04:56:44 -0700 tests: use bundle2 for test-hook
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 04:56:44 -0700] rev 25370
tests: use bundle2 for test-hook Using bundle2 has an effect on which hooks are run when. We turn it on for test-hooks early to reduce the noise of switching the default exchange to bundle2.
Wed, 27 May 2015 04:57:03 -0700 pull: only prefetch bookmarks when using bundle1
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 04:57:03 -0700] rev 25369
pull: only prefetch bookmarks when using bundle1 All bundle2 servers now support the 'listkeys' part(1), so we'll always be able to fetch bookmarks data at the same time as the changeset. This should be enough to avoid the one race condition that this bookmark prefetching is trying to work around. It even allows future server to make sure everything is generated from the same "transaction" if they become capable of such. The current code was already overwriting the prefetched value with the one in bundle2 anyway. Note that this is not preventing all race conditions in related to bookmark in 'hg pull' it makes nothing better and nothing worse. Reducing the number of listkeys calls will reduce the latency on pull. The pre-fetch is also moved into a discovery step because it seems to belong there. (1) Because all servers not speaking 'pushkey' parts are compatible with the 'HG2X' protocol only.
Thu, 28 May 2015 14:01:53 -0700 pull: document the race condition with bookmark name
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 28 May 2015 14:01:53 -0700] rev 25368
pull: document the race condition with bookmark name It seems valuable to document this in-place to help the next poor soul looking at this code to understand what kind of beast he is currently facing.
Thu, 28 May 2015 13:55:03 -0700 pull: only list remote bookmarks if -B is used to populate pulled heads
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 28 May 2015 13:55:03 -0700] rev 25367
pull: only list remote bookmarks if -B is used to populate pulled heads Listing remote bookmarks results in network traffic and latency. This should be avoided when possible.
Mon, 01 Jun 2015 10:50:15 +0900 i18n-ja: synchronized with 8594d0b3018e stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 01 Jun 2015 10:50:15 +0900] rev 25366
i18n-ja: synchronized with 8594d0b3018e
Sat, 30 May 2015 12:46:30 +0900 hg: explicitly check that peer lookup object has instance() if call failed
Yuya Nishihara <yuya@tcha.org> [Sat, 30 May 2015 12:46:30 +0900] rev 25365
hg: explicitly check that peer lookup object has instance() if call failed If a "thing" is callable but raises TypeError for some reason, a callable object would be returned. Thereafter, unfriendly traceback would be displayed: Traceback (most recent call last): ... File "mercurial/hg.pyc", line 119, in _peerorrepo obj = _peerlookup(path).instance(ui, path, create) AttributeError: 'function' object has no attribute 'instance' Instead, we should show the reason why "thing(path)" didn't work: Traceback (most recent call last): ... File "hggit/__init__.py", line 89, in _local p = urlcls(path).localpath() TypeError: 'NoneType' object is not callable If a "thing" is not callable, it must be a module or an object that implements instance(). If that module didn't have instance(), the error message would be "<unloaded module 'foo'> object is not callable". It doesn't make perfect sense, but it isn't so bad as it can blame which module went wrong.
Mon, 30 Mar 2015 16:23:35 +0900 extensions: show traceback on load failure if --traceback flag is set
Yuya Nishihara <yuya@tcha.org> [Mon, 30 Mar 2015 16:23:35 +0900] rev 25364
extensions: show traceback on load failure if --traceback flag is set Before this patch, there was no handy way to investigate the reason why extension couldn't be loaded. If ui.debug is set, tracebacks of both "hgext.foo" and "foo" are displayed because the first ImportError could occur at very deep dependency module.
(0) -10000 -3000 -1000 -300 -100 -12 +12 +100 +300 +1000 +3000 +10000 tip