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.
Sun, 31 May 2015 14:40:28 +0900 ui: flush stdout before writing traceback to stderr
Yuya Nishihara <yuya@tcha.org> [Sun, 31 May 2015 14:40:28 +0900] rev 25363
ui: flush stdout before writing traceback to stderr Sometimes a traceback message is paired with ui.debug(). This patch makes sure that these messages are displayed in the right order.
Wed, 27 May 2015 10:44:04 -0700 treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?'
Martin von Zweigbergk <martinvonz@google.com> [Wed, 27 May 2015 10:44:04 -0700] rev 25362
treemanifest: visit directory 'foo' when given e.g. '-X foo/ba?' For globs like 'foo/ba?', match._roots() will return 'foo'. Since visitdir(), excludes directories in the excluded roots, it would skip the entire foo directory. This is incorrect, since 'foo/ba?' doesn't mean that everything in foo/ should be exluded. Note that visitdir() is called only from the treemanifest class, so this only affects tree manifests. Fix by adding roots to the set of excluded roots only if there are no excluded patterns. Since 'glob' is the default pattern type for globs, we also need to update some -X patterns in the tests to be of 'path' type to take advantage of the visitdir tricks. For consistency, also update the -I patterns. It seems a little unfortunate that 'foo' in 'hg files -X foo' is considered a pattern because of the implied 'glob' type, but improving that is left for another day.
Fri, 29 May 2015 14:24:50 -0700 phases: fix bug where native phase computation wasn't called
Laurent Charignon <lcharignon@fb.com> [Fri, 29 May 2015 14:24:50 -0700] rev 25361
phases: fix bug where native phase computation wasn't called I forgot to include this change as a previous diff and the native code to compute the phases was never called. The AttributeError was silently caught and the pure implementation was used instead.
Fri, 29 May 2015 17:00:55 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 29 May 2015 17:00:55 -0500] rev 25360
merge with stable
Wed, 27 May 2015 15:56:10 -0700 record: add default value for operation argument
Laurent Charignon <lcharignon@fb.com> [Wed, 27 May 2015 15:56:10 -0700] rev 25359
record: add default value for operation argument This patch is part of a series of patches to change the recording ui to reflect the operation currently running (commit, shelve, revert ...). This patch adds the default value of the operation argument for record's standard and curses interface to match what is displayed in the interface as of today.
Thu, 28 May 2015 16:41:47 -0700 record: precise documentation
Laurent Charignon <lcharignon@fb.com> [Thu, 28 May 2015 16:41:47 -0700] rev 25358
record: precise documentation This patch improves the documentation of the recordfilter function to explain that we need a translated string for the 'operation' argument.
Wed, 27 May 2015 06:55:32 -0700 test: use both bundle formats in test-bookmarks-pushpull
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 06:55:32 -0700] rev 25357
test: use both bundle formats in test-bookmarks-pushpull It is valuable to have both formats tested.
Wed, 27 May 2015 06:35:34 -0700 test: explicitly test wire protocol discovery with bundle1 and bundle2
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 06:35:34 -0700] rev 25356
test: explicitly test wire protocol discovery with bundle1 and bundle2 We want to make sure the behavior is similar in both cases.
Wed, 27 May 2015 06:37:56 -0700 test: use bundle2 for exchange in test-push-warn
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 06:37:56 -0700] rev 25355
test: use bundle2 for exchange in test-push-warn Using bundle2 for exchange unlocks the usage of changegroup version 2. This version of the changegroup held more information (delta base) that result in a small increase in content size (20 bytes).
Wed, 27 May 2015 04:34:03 -0700 test: use bundle2 for exchange in test-largefile
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 04:34:03 -0700] rev 25354
test: use bundle2 for exchange in test-largefile Using bundle2 for exchange unlock the usage of changegroup version 2. This version of the changegroup held more information (delta base) that result in a small increase in content size. It also lead to reordering of output because the exchange scheduling is a bit different.
Wed, 27 May 2015 04:30:40 -0700 test: use bundle2 for exchange in test-push-warn
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 04:30:40 -0700] rev 25353
test: use bundle2 for exchange in test-push-warn Using bundle2 for exchange unlocks the usage of changegroup version 2. This version of the changegroup held more information (delta base) that result in a small increase in content size (20 bytes x 2 changes).
Wed, 27 May 2015 12:49:32 -0700 test: use bundle2 for exchange in test-bookmark-pushpull
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 12:49:32 -0700] rev 25352
test: use bundle2 for exchange in test-bookmark-pushpull This lets us adapt to changes in obsmarkers exchange output earlier.
Wed, 27 May 2015 04:21:39 -0700 test: use bundle2 for exchange in test-obsolete
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 04:21:39 -0700] rev 25351
test: use bundle2 for exchange in test-obsolete The bundle2 version of obsmarkers exchange is more informative. Switching to bundle2 by default will change the output of this tests. To reduce the noise when switching bundle2 to the default protocol, we migrate this tests early.
Fri, 29 May 2015 10:34:12 -0700 revert: remove unused debug code in the test file
Laurent Charignon <lcharignon@fb.com> [Fri, 29 May 2015 10:34:12 -0700] rev 25350
revert: remove unused debug code in the test file I left a test environment variable in a previous commit and it is doing nothing useful. This patch removes it.
Thu, 28 May 2015 20:06:19 -0700 commands: rename current to active in variables and comments
Ryan McElroy <rmcelroy@fb.com> [Thu, 28 May 2015 20:06:19 -0700] rev 25349
commands: rename current to active in variables and comments Today, the terms 'active' and 'current' are interchangeably used throughout the codebase in reference to the active bookmark (the bookmark that will be updated with the next commit). This leads to confusion among developers and users. This patch is part of a series to standardize the usage to 'active' throughout the mercurial codebase and user interface.
Thu, 28 May 2015 20:03:42 -0700 templatekw: introduce active subkeyword from bookmarks keyword
Ryan McElroy <rmcelroy@fb.com> [Thu, 28 May 2015 20:03:42 -0700] rev 25348
templatekw: introduce active subkeyword from bookmarks keyword Today, the terms 'active' and 'current' are interchangeably used throughout the codebase in reference to the active bookmark (the bookmark that will be updated with the next commit). This leads to confusion among developers and users. This patch is part of a series to standardize the usage to 'active' throughout the mercurial codebase and user interface.
Thu, 16 Apr 2015 15:18:59 -0700 bookmarks: name label for active bookmark correctly
Ryan McElroy <rmcelroy@fb.com> [Thu, 16 Apr 2015 15:18:59 -0700] rev 25347
bookmarks: name label for active bookmark correctly Retain old label as well for backwards compatibility. Today, the terms 'active' and 'current' are interchangeably used throughout the codebase in reference to the active bookmark (the bookmark that will be updated with the next commit). This leads to confusion among developers and users. This patch is part of a series to standardize the usage to 'active' throughout the mercurial codebase and user interface.
Sat, 30 May 2015 02:06:09 +0800 tests: descending empty dirs works in all hgweb styles, test them too
Anton Shestakov <engored@ya.ru> [Sat, 30 May 2015 02:06:09 +0800] rev 25346
tests: descending empty dirs works in all hgweb styles, test them too The tested feature was added to multiple hgweb styles in c21d236ca897, but only paper was tested. Let's test everything now, including monoblue, which only got the feature some 6 years late in e50d8b21f4f4.
Sat, 30 May 2015 01:57:19 +0800 tests: actualize the comment in test-hgweb-descend-empties.t
Anton Shestakov <engored@ya.ru> [Sat, 30 May 2015 01:57:19 +0800] rev 25345
tests: actualize the comment in test-hgweb-descend-empties.t The comment came together with the whole test file and the feature (descend empty dirs in hgweb) in c21d236ca897, but for some reason wasn't exactly accurate. Namely, there isn't e1 directory in the test at all, it obviously should say d1; and b1 didn't terminate at level 3, but does now.
Sun, 17 May 2015 15:16:13 +0900 revset: add fast path for _list() of integer revisions
Yuya Nishihara <yuya@tcha.org> [Sun, 17 May 2015 15:16:13 +0900] rev 25344
revset: add fast path for _list() of integer revisions This can greatly speed up chained 'or' of integer revisions. 1) reduce nesting of chained 'or' operations 2) optimize to a list 3) fast path for integer revisions (this patch) revset #0: 0 + 1 + 2 + ... + 1000 1) wall 0.483341 comb 0.480000 user 0.480000 sys 0.000000 (best of 20) 2) wall 0.025393 comb 0.020000 user 0.020000 sys 0.000000 (best of 107) 3) wall 0.008371 comb 0.000000 user 0.000000 sys 0.000000 (best of 317) revset #1: sort(0 + 1 + 2 + ... + 1000) 1) wall 0.035240 comb 0.040000 user 0.040000 sys 0.000000 (best of 100) 2) wall 0.026432 comb 0.030000 user 0.030000 sys 0.000000 (best of 102) 3) wall 0.008418 comb 0.000000 user 0.000000 sys 0.000000 (best of 322) revset #2: first(0 + 1 + 2 + ... + 1000) 1) wall 0.028949 comb 0.030000 user 0.030000 sys 0.000000 (best of 100) 2) wall 0.025503 comb 0.030000 user 0.030000 sys 0.000000 (best of 106) 3) wall 0.008423 comb 0.010000 user 0.010000 sys 0.000000 (best of 319) But I admit that it is still slower than the spanset. revset #3: 0:1000 3) wall 0.000132 comb 0.000000 user 0.000000 sys 0.000000 (best of 19010)
Sun, 17 May 2015 15:11:38 +0900 revset: optimize 'or' operation of trivial revisions to a list
Yuya Nishihara <yuya@tcha.org> [Sun, 17 May 2015 15:11:38 +0900] rev 25343
revset: optimize 'or' operation of trivial revisions to a list As seen in issue4565 and issue4624, GUI wrappers and automated scripts are likely to generate a long query that just has numeric revisions joined by 'or'. One reason why is that they allows users to choose arbitrary revisions from a list. Because this use case isn't handled well by smartset, let's optimize it to a plain old list. Benchmarks: 1) reduce nesting of chained 'or' operations 2) optimize to a list (this patch) revset #0: 0 + 1 + 2 + ... + 1000 1) wall 0.483341 comb 0.480000 user 0.480000 sys 0.000000 (best of 20) 2) wall 0.025393 comb 0.020000 user 0.020000 sys 0.000000 (best of 107) revset #1: sort(0 + 1 + 2 + ... + 1000) 1) wall 0.035240 comb 0.040000 user 0.040000 sys 0.000000 (best of 100) 2) wall 0.026432 comb 0.030000 user 0.030000 sys 0.000000 (best of 102) revset #2: first(0 + 1 + 2 + ... + 1000) 1) wall 0.028949 comb 0.030000 user 0.030000 sys 0.000000 (best of 100) 2) wall 0.025503 comb 0.030000 user 0.030000 sys 0.000000 (best of 106)
Fri, 29 May 2015 21:31:00 +0900 revset: make "null" able to appear in internal _list() expression
Yuya Nishihara <yuya@tcha.org> [Fri, 29 May 2015 21:31:00 +0900] rev 25342
revset: make "null" able to appear in internal _list() expression This is the same workaround introduced at e16456831516. Without this patch, "null or x" can't be optimized to _list(null x). Test case will be added by the next patch.
Sun, 24 May 2015 14:49:41 +0900 revset: make internal _list() expression remove duplicated revisions
Yuya Nishihara <yuya@tcha.org> [Sun, 24 May 2015 14:49:41 +0900] rev 25341
revset: make internal _list() expression remove duplicated revisions This allows us to optimize chained 'or' operations to _list() expression. Unlike _intlist() or _hexlist(), it's difficult to remove duplicates by the caller of _list() because different symbols can point to the same revision. If the caller knows all symbols are unique, that probably means revisions or nodes are known, therefore, _intlist() or _hexlist() should be used instead. So, it makes sense to check duplicates by _list() function. '%ls' is no longer used in core, this won't cause performance regression.
Sun, 24 May 2015 14:34:12 +0900 repair: use _hexlist() to build revset expression from binary nodes
Yuya Nishihara <yuya@tcha.org> [Sun, 24 May 2015 14:34:12 +0900] rev 25340
repair: use _hexlist() to build revset expression from binary nodes _hexlist() should be efficient than _list().
Thu, 28 May 2015 23:49:19 -0700 listkey: display the size of the listkey payload in a debug message
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 28 May 2015 23:49:19 -0700] rev 25339
listkey: display the size of the listkey payload in a debug message This is a useful information to have in general and we already have debug output related to listkeys. I'm planning to play around with massive amount of phases roots and bookmarks so having this data in debug will be very useful. This already got me to spot that one of the Logilab's review repo is exchanging 65KB of phases data during each exchanges.
Fri, 29 May 2015 00:09:36 -0700 ssh: test some no-op pull through ssh with --debug
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 May 2015 00:09:36 -0700] rev 25338
ssh: test some no-op pull through ssh with --debug It appears that we are never running any wireprotocol operation with a --debug flag. So we are adding some basic testing into 'test-ssh.t'
Wed, 27 May 2015 06:08:14 -0700 subrepo: detect issue3781 case earlier so it apply to bundle2
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 06:08:14 -0700] rev 25337
subrepo: detect issue3781 case earlier so it apply to bundle2 We are doing some strange special casing of phase push when: - the source is a subrepo - the destination is publishing - some changeset are still draft on the destination In that case we do not push phases information (to publish the draft changesets) because it could break simple cycle of 'clone/pull/push' of subrepos. We have to detect this case earlier to have bundle2 respecting it. We change the test to check the behavior for both bundle1 and bundle2.
Tue, 26 May 2015 23:06:17 -0700 bundle2: hide bundle2 stream debug under a config flag
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 26 May 2015 23:06:17 -0700] rev 25336
bundle2: hide bundle2 stream debug under a config flag The old output is very verbose and unsuitable for general debug level. It is however very useful for debugging bundle2 generation or consumption issues. All this verbose ouput is hidden under a 'devel.bundle2.debug' flag.
Tue, 26 May 2015 23:47:19 -0700 bundle2: add generic debug output regarding processed interruption
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 26 May 2015 23:47:19 -0700] rev 25335
bundle2: add generic debug output regarding processed interruption If we are about to hide the detailed debug output, we need some generic debug message to replace it in a concise way.
Tue, 26 May 2015 23:58:38 -0700 bundle2: add generic debug output regarding processed part payload
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 26 May 2015 23:58:38 -0700] rev 25334
bundle2: add generic debug output regarding processed part payload If we are about to hide the detailed debug output, we need some generic debug message to replace it in a concise way.
Tue, 26 May 2015 23:36:31 -0700 bundle2: add generic debug output regarding processed part
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 26 May 2015 23:36:31 -0700] rev 25333
bundle2: add generic debug output regarding processed part If we are about to hide the detailed debug output, we need some generic debug message to replace it.
Wed, 27 May 2015 00:02:49 -0700 bundle2: add generic debug output at the end of bundle processing
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 00:02:49 -0700] rev 25332
bundle2: add generic debug output at the end of bundle processing If we are about to hide the detailed debug output, we need some generic debug message to replace it in a concise way.
Wed, 27 May 2015 00:00:35 -0700 bundle2: add generic debug output regarding processed bundle
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 00:00:35 -0700] rev 25331
bundle2: add generic debug output regarding processed bundle If we are about to hide the detailed debug output, we need some generic debug message to replace it in a concise way.
Thu, 28 May 2015 20:30:20 -0700 histedit: fix keep during --continue stable
Durham Goode <durham@fb.com> [Thu, 28 May 2015 20:30:20 -0700] rev 25330
histedit: fix keep during --continue The --keep option was being serialized to the state file, but it wasn't actually being used when running a histedit --continue. This fixes that.
Thu, 28 May 2015 16:42:21 -0400 dispatch: disable demandimport for the --debugger option
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 28 May 2015 16:42:21 -0400] rev 25329
dispatch: disable demandimport for the --debugger option Something in Python 2.7.9 or so broke the --debugger option with ui.debugger = ipdb. I get the traceback below. There is some apparent confusion with demandimport. This should be disabled anyway for the --debugger option. The debugger must be imported right away, before any other dispatch. There's no benefit in delaying the debugger import. This patch uses the demandimport.deactivated() context manager. Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 121, in _runcatch debugmod = __import__(debugger) File "/usr/lib/python2.7/dist-packages/mercurial/demandimport.py", line 115, in _demandimport return _hgextimport(_import, name, globals, locals, fromlist, level) File "/usr/lib/python2.7/dist-packages/mercurial/demandimport.py", line 47, in _hgextimport return importfunc(name, globals, *args) File "/usr/lib/python2.7/dist-packages/ipdb/__init__.py", line 16, in <module> from ipdb.__main__ import set_trace, post_mortem, pm, run, runcall, runeval, launch_ipdb_on_exception File "/usr/lib/python2.7/dist-packages/mercurial/demandimport.py", line 134, in _demandimport mod = _hgextimport(_origimport, name, globals, locals) File "/usr/lib/python2.7/dist-packages/mercurial/demandimport.py", line 47, in _hgextimport return importfunc(name, globals, *args) File "/usr/lib/python2.7/dist-packages/ipdb/__main__.py", line 29, in <module> if IPython.__version__ > '0.10.2': File "/usr/lib/python2.7/dist-packages/mercurial/demandimport.py", line 106, in __getattribute__ self._load() File "/usr/lib/python2.7/dist-packages/mercurial/demandimport.py", line 78, in _load mod = _hgextimport(_import, head, globals, locals, None, level) File "/usr/lib/python2.7/dist-packages/mercurial/demandimport.py", line 47, in _hgextimport return importfunc(name, globals, *args) File "/usr/lib/python2.7/dist-packages/IPython/__init__.py", line 45, in <module> from .config.loader import Config File "/usr/lib/python2.7/dist-packages/mercurial/demandimport.py", line 132, in _demandimport return _origimport(name, globals, locals, fromlist, level) File "/usr/lib/python2.7/dist-packages/IPython/config/__init__.py", line 16, in <module> from .application import * File "/usr/lib/python2.7/dist-packages/mercurial/demandimport.py", line 115, in _demandimport return _hgextimport(_import, name, globals, locals, fromlist, level) File "/usr/lib/python2.7/dist-packages/mercurial/demandimport.py", line 47, in _hgextimport return importfunc(name, globals, *args) File "/usr/lib/python2.7/dist-packages/IPython/config/application.py", line 30, in <module> from IPython.external.decorator import decorator File "/usr/lib/python2.7/dist-packages/mercurial/demandimport.py", line 134, in _demandimport mod = _hgextimport(_origimport, name, globals, locals) File "/usr/lib/python2.7/dist-packages/mercurial/demandimport.py", line 47, in _hgextimport return importfunc(name, globals, *args) File "/usr/lib/python2.7/dist-packages/IPython/external/decorator/__init__.py", line 2, in <module> from decorator import * File "/usr/lib/python2.7/dist-packages/mercurial/demandimport.py", line 115, in _demandimport return _hgextimport(_import, name, globals, locals, fromlist, level) File "/usr/lib/python2.7/dist-packages/mercurial/demandimport.py", line 47, in _hgextimport return importfunc(name, globals, *args) File "/usr/lib/python2.7/dist-packages/decorator.py", line 240, in <module> 'ContextManager', (_GeneratorContextManager,), dict(__call__=__call__))
Thu, 28 May 2015 16:42:04 -0400 hooks: replace if-try-finally with a "with" statement
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 28 May 2015 16:42:04 -0400] rev 25328
hooks: replace if-try-finally with a "with" statement This seems like a textbook case for the new demandimport.deactivated context manager: check if something must be done, do it, and cleanup at the end regardless of exceptions. The diff isn't as bad as it seems. It's just all the whitespace changes due to needing an extra level of indentation. It looks cleaner with `hg diff -w`.
Thu, 28 May 2015 16:11:26 -0400 demandimport: define a `deactivated` context manager
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 28 May 2015 16:11:26 -0400] rev 25327
demandimport: define a `deactivated` context manager This can be useful for use in "with" blocks for temporarily disabling demandimport.
Thu, 28 May 2015 14:14:11 -0400 largefiles: drop the unused lfcommands._addchangeset()
Matt Harbison <matt_harbison@yahoo.com> [Thu, 28 May 2015 14:14:11 -0400] rev 25326
largefiles: drop the unused lfcommands._addchangeset()
Thu, 28 May 2015 13:34:37 -0400 largefiles: use the convert extension for 'lfconvert --to-normal'
Matt Harbison <matt_harbison@yahoo.com> [Thu, 28 May 2015 13:34:37 -0400] rev 25325
largefiles: use the convert extension for 'lfconvert --to-normal' The logic in the convert extension is more advanced, supporting extra features like converting revision IDs in 'extras' (e.g. 'amend_source'), supports updating hashes in commit messages, and outputs an SHA map file. Rather than try to duplicate all of that, just use the existing code. Even though the convert extension supports user supplied options like filemap, etc, those features aren't available on the lfconvert interface. Therefore, it is safe to use the filemap mechanism (in memory) to handle the standin -> file rename. The convert extension handles the destination locking for this path. There was a comment in test-lfconvert.t about the hash on rev 5 being different because it was doing a better job than "hg remove" + "hg merge" + "hg commit". It isn't clear to me what was happening or why, but now the hashes match the original repo exactly after a roundtrip, which seems like a good idea. If there really was something beneficial about the previous behavior, perhaps merge can be changed so that everyone benefits. Converting to a largefiles repo still uses the original (limited) lfconvert logic.
Wed, 27 May 2015 00:22:29 -0700 bundle2: add generic debug output regarding generated interruption
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 00:22:29 -0700] rev 25324
bundle2: add generic debug output regarding generated interruption If we are about to hide the detailed debug output, we need some generic debug message to replace it in a concise way.
Wed, 27 May 2015 00:19:16 -0700 bundle2: add generic debug output regarding generated parts
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 00:19:16 -0700] rev 25323
bundle2: add generic debug output regarding generated parts If we are about to hide the detailed debug output, we need some generic debug message to replace it in a concise way.
Wed, 27 May 2015 00:10:30 -0700 bundle2: add generic debug output regarding generated bundle
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 00:10:30 -0700] rev 25322
bundle2: add generic debug output regarding generated bundle If we are about to hide the detailed debug output, we need some generic debug message to replace it in a more compact way.
Wed, 27 May 2015 00:52:01 -0700 bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 00:52:01 -0700] rev 25321
bundle2: add debug output for part generation The part generation process was lacking a ui object and could not produce debug output. It seems valuable to have some debug output on this part too, especially now that we are planning to be able to hide it in the default --debug output.
Tue, 26 May 2015 23:01:39 -0700 bundle2: handle new line in 'indebug' function
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 26 May 2015 23:01:39 -0700] rev 25320
bundle2: handle new line in 'indebug' function Now that we have a prefix, it make sense to assume all output will be on a single line.
Tue, 26 May 2015 20:40:21 -0700 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 26 May 2015 20:40:21 -0700] rev 25319
bundle2: prefix all unbundling debug message with 'bundle2-input:' This make the origin of the message more explicit.
Tue, 26 May 2015 22:48:52 -0700 bundle2: introduce a specific function for debug messages while unbundling
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 26 May 2015 22:48:52 -0700] rev 25318
bundle2: introduce a specific function for debug messages while unbundling The bundling process is very verbose, we would like to be able to hide such output behind a configuration flag and have it more explicitly referencing bundle2. The first step is to gather all these messages in a dedicated function.
Thu, 28 May 2015 10:00:22 -0700 bundle2: add an informative comment to the capability dict
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 28 May 2015 10:00:22 -0700] rev 25317
bundle2: add an informative comment to the capability dict It is fairly easy to get confused by capabilities "missing" from this dict. We make it clear the dict is not the whole story.
Thu, 28 May 2015 16:09:42 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 28 May 2015 16:09:42 -0500] rev 25316
merge with stable
Tue, 26 May 2015 23:02:19 -0700 bundle2: handle new line in 'outdebug' function
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 26 May 2015 23:02:19 -0700] rev 25315
bundle2: handle new line in 'outdebug' function Now that we have a prefix, it make sense to assume all output will be on a single line.
Tue, 26 May 2015 22:57:35 -0700 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 26 May 2015 22:57:35 -0700] rev 25314
bundle2: prefix all bundling debug messages with 'bundle2-ouput:' This makes the origin of the message more explicit.
Tue, 26 May 2015 22:49:03 -0700 bundle2: introduce a specific function for bundling debug message
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 26 May 2015 22:49:03 -0700] rev 25313
bundle2: introduce a specific function for bundling debug message The bundling process is very verbose, we would like to be able to hide such output behind a configuration flag and have it more explicitly referencing bundle2. The first step is to gather all these messages in a dedicated function. The same gathering will be later do for debug message issue by unbundling.
Wed, 27 May 2015 17:01:43 -0700 parsers: simplify the code computing the phases
Laurent Charignon <lcharignon@fb.com> [Wed, 27 May 2015 17:01:43 -0700] rev 25312
parsers: simplify the code computing the phases We recently simplified the code computing the heads of a repo. This patch uses the same simplification for phase computation. We use index_get_parents instead of replicating its code.
Wed, 27 May 2015 17:00:28 -0700 parsers: move index_get_parents's declaration higher
Laurent Charignon <lcharignon@fb.com> [Wed, 27 May 2015 17:00:28 -0700] rev 25311
parsers: move index_get_parents's declaration higher index_get_parents needs to be used in the phase computation code so we need to move its declaration higher to be able to call it. It cannot be moved any higher than that so we won't have any more patch doing the same thing.
(0) -10000 -3000 -1000 -300 -100 -64 +64 +100 +300 +1000 +3000 +10000 tip