Thu, 04 Aug 2016 19:51:03 +0800 tests: update bugzilla link in test-issue1175.t
Anton Shestakov <av6@dwimlabs.net> [Thu, 04 Aug 2016 19:51:03 +0800] rev 29694
tests: update bugzilla link in test-issue1175.t
Sun, 31 Jul 2016 17:11:48 +0900 journal: use fm.formatdate() to pass date tuple in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org> [Sun, 31 Jul 2016 17:11:48 +0900] rev 29693
journal: use fm.formatdate() to pass date tuple in appropriate type (BC)
Sun, 31 Jul 2016 17:07:29 +0900 formatter: add function to convert date tuple to appropriate format
Yuya Nishihara <yuya@tcha.org> [Sun, 31 Jul 2016 17:07:29 +0900] rev 29692
formatter: add function to convert date tuple to appropriate format
Sun, 31 Jul 2016 16:56:26 +0900 journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Yuya Nishihara <yuya@tcha.org> [Sun, 31 Jul 2016 16:56:26 +0900] rev 29691
journal: use fm.formatlist() to pass hashes in appropriate type (BC)
Sun, 10 Jul 2016 21:03:06 +0900 formatter: add function to convert list to appropriate format (issue5217)
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jul 2016 21:03:06 +0900] rev 29690
formatter: add function to convert list to appropriate format (issue5217) Before, it wasn't possible for formatter to handle array structure other than date tuple. We've discussed that at the last sprint, which ended we would probably want to allow only templatable data structure, i.e. a list of dicts: data(tags=[{'tag': a}, {'tag': b}, ...]) Unfortunately, it turned out not working well with template functions: "{ifcontains(a, tags, ...)}" ^^^^^^^^^^^^^^^^^^ "a in tags", where tags should be a plain list/set of tags So the formatter must at least know if the type [{}] was constructed from a plain list or was actually a list of dicts. This patch introduces new explicit interface to convert an array structure to an appropriate data type for the current formatter, which can be used as follows: fm.write('tags', _('tags: %s\n'), fm.formatlist(tags, name='tag')) No separate fm.data() call should be necessary.
Sun, 31 Jul 2016 16:38:16 +0900 journal: use fm.hexfunc() to get full hash in JSON/template output (BC)
Yuya Nishihara <yuya@tcha.org> [Sun, 31 Jul 2016 16:38:16 +0900] rev 29689
journal: use fm.hexfunc() to get full hash in JSON/template output (BC) We generally do that.
Thu, 04 Aug 2016 00:04:48 +0530 py3: update test-check-py3-compat.t output
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 04 Aug 2016 00:04:48 +0530] rev 29688
py3: update test-check-py3-compat.t output The lower part of test-check-py3-compat.t runs only on py3 and hence its remain unchanged. Hence this patch updates the output so that change in output in the next patches will be only related to the change in the patch.
Tue, 02 Aug 2016 16:51:27 +0200 deprecation: enforce thew 'tr' argument of 'dirstate.write' (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 Aug 2016 16:51:27 +0200] rev 29687
deprecation: enforce thew 'tr' argument of 'dirstate.write' (API) Compatibility was meant to be drop after 3.9 is released.
Tue, 02 Aug 2016 14:54:06 +0200 tests: remove initial bundle2 enabling in various bundle2 tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 Aug 2016 14:54:06 +0200] rev 29686
tests: remove initial bundle2 enabling in various bundle2 tests Bundle 2 is enable by default since 3.6 so we don't need this anymore. The remaining use of 'experimental.bundle2-exp' are there to test legacy behavior with bundle 1. Future patches will introduce a way outside of experimental to test that.
Tue, 02 Aug 2016 15:44:51 +0200 tests: remove bundle2 activation from test-largefiles.t
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 Aug 2016 15:44:51 +0200] rev 29685
tests: remove bundle2 activation from test-largefiles.t This is an old config that predate bundle2 on by default. This should have been remove after Mercurail 3.6 got released.
Tue, 02 Aug 2016 15:05:57 +0200 tests: remove bundle2 activation from test-tags.t
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 Aug 2016 15:05:57 +0200] rev 29684
tests: remove bundle2 activation from test-tags.t This is an old config that predate bundle2 on by default. This should have been remove after Mercurail 3.6 got released.
Sat, 23 Jul 2016 13:08:43 +0900 templatekw: change joinfmt to a mandatory argument of _hybrid object
Yuya Nishihara <yuya@tcha.org> [Sat, 23 Jul 2016 13:08:43 +0900] rev 29683
templatekw: change joinfmt to a mandatory argument of _hybrid object We've fixed several bugs caused by the misuse of the default joinfmt. Make it more explicit to prevent future bugs. dict.values()[0] is replaced by dict[element] as showlist() knows what the key is.
Mon, 18 Jul 2016 23:12:09 +0900 url: drop compatibility wrapper of socket.create_connection()
Yuya Nishihara <yuya@tcha.org> [Mon, 18 Jul 2016 23:12:09 +0900] rev 29682
url: drop compatibility wrapper of socket.create_connection() It should be available on Python 2.6+.
Sat, 14 May 2016 14:37:25 +0900 doc: remove double imports of inspect from hgmanpage.py
Yuya Nishihara <yuya@tcha.org> [Sat, 14 May 2016 14:37:25 +0900] rev 29681
doc: remove double imports of inspect from hgmanpage.py
Tue, 05 May 2015 10:51:34 +0900 merge: concatenate default conflict marker at parsing phase of .py
Yuya Nishihara <yuya@tcha.org> [Tue, 05 May 2015 10:51:34 +0900] rev 29680
merge: concatenate default conflict marker at parsing phase of .py "+" operations are unnecessary.
Tue, 02 Aug 2016 03:54:17 +0200 tests: remove bundle2 activation from test-push-warn.t
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 Aug 2016 03:54:17 +0200] rev 29679
tests: remove bundle2 activation from test-push-warn.t This is an old config that predate bundle2 on by default. This should have been remove after Mercurail 3.6 got released.
Tue, 02 Aug 2016 03:53:48 +0200 tests: remove bundle2 activation from test-phases-exchanges.t
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 Aug 2016 03:53:48 +0200] rev 29678
tests: remove bundle2 activation from test-phases-exchanges.t This is an old config that predate bundle2 on by default. This should have been remove after Mercurail 3.6 got released.
Tue, 02 Aug 2016 03:53:17 +0200 tests: remove bundle2 activation from test-obsolete.t
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 Aug 2016 03:53:17 +0200] rev 29677
tests: remove bundle2 activation from test-obsolete.t This is an old config that predate bundle2 on by default. This should have been remove after Mercurail 3.6 got released.
Tue, 02 Aug 2016 03:53:05 +0200 tests: remove bundle2 activation from test-http-proxy.t
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 Aug 2016 03:53:05 +0200] rev 29676
tests: remove bundle2 activation from test-http-proxy.t This is an old config that predate bundle2 on by default. This should have been remove after Mercurail 3.6 got released.
Tue, 02 Aug 2016 03:50:58 +0200 tests: remove bundle2 activation from test-hook.t
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 Aug 2016 03:50:58 +0200] rev 29675
tests: remove bundle2 activation from test-hook.t This is an old config that predate bundle2 on by default. This should have been remove after Mercurail 3.6 got released.
Tue, 02 Aug 2016 03:50:42 +0200 tests: remove bundle2 activation from test-acl.t
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 Aug 2016 03:50:42 +0200] rev 29674
tests: remove bundle2 activation from test-acl.t This is an old config that predate bundle2 on by default. This should have been remove after Mercurail 3.6 got released.
Mon, 01 Aug 2016 13:14:13 -0400 merge with stable
Augie Fackler <augie@google.com> [Mon, 01 Aug 2016 13:14:13 -0400] rev 29673
merge with stable
Sat, 01 Oct 2016 15:00:23 -0400 Added signature for changeset 149433e68974 stable
Augie Fackler <raf@durin42.com> [Sat, 01 Oct 2016 15:00:23 -0400] rev 29672
Added signature for changeset 149433e68974
Sat, 01 Oct 2016 15:00:18 -0400 Added tag 3.9.2 for changeset 149433e68974 stable
Augie Fackler <raf@durin42.com> [Sat, 01 Oct 2016 15:00:18 -0400] rev 29671
Added tag 3.9.2 for changeset 149433e68974
Fri, 23 Sep 2016 14:37:15 -0400 py3: update test expectation on stable stable 3.9.2
Augie Fackler <augie@google.com> [Fri, 23 Sep 2016 14:37:15 -0400] rev 29670
py3: update test expectation on stable
Fri, 23 Sep 2016 12:45:10 -0500 grep: rewrite help to better document current (confusing) behavior stable
Kevin Bullock <kbullock+mercurial@ringworld.org> [Fri, 23 Sep 2016 12:45:10 -0500] rev 29669
grep: rewrite help to better document current (confusing) behavior
Fri, 02 Sep 2016 20:15:37 +0000 crecord: properly handle files with No newline at eof (issue5268) stable
timeless <timeless@mozdev.org> [Fri, 02 Sep 2016 20:15:37 +0000] rev 29668
crecord: properly handle files with No newline at eof (issue5268) Yes, this bug was a single character with the wrong case...
Fri, 02 Sep 2016 15:20:59 +0100 annotate: pre-calculate the "needed" dictionary (issue5360) stable
Jun Wu <quark@fb.com> [Fri, 02 Sep 2016 15:20:59 +0100] rev 29667
annotate: pre-calculate the "needed" dictionary (issue5360) The "needed" dict is used as a reference counter to free items in the giant "hist" dict. However, currently it is not very accurate and can lead to dropping "hist" items unnecessarily, for example, with the following DAG, -3- / \ 0--1--2--4-- The current algorithm will visit and calculate rev 1 twice, undesired. And it tries to be smart by clearing rev 1's parents: "pcache[1] = []" at the time hist[1] being accessed (note: hist[1] needs to be used twice, by rev 2 and rev 3). It can result in incorrect results if p1 of rev 4 deletes chunks belonging to rev 0. However, simply removing "needed" is not okay, because it will consume 10x memory: # without any change % HGRCPATH= lrun ./hg annotate mercurial/commands.py -r d130a38 3>&2 [1] MEMORY 49074176 CPUTIME 9.213 REALTIME 9.270 # with "needed" removed MEMORY 637673472 CPUTIME 8.164 REALTIME 8.249 This patch moves "needed" (and "pcache") calculation to a separate DFS to address the issue. It improves perf and fixes issue5360 by correctly reusing hist, while maintaining low memory usage. Some additional attempt has been made to further reduce memory usage, like changing "pcache[f] = []" to "del pcache[f]". Therefore the result can be both faster and lower memory usage: # with this patch applied MEMORY 47575040 CPUTIME 7.870 REALTIME 7.926 [1]: lrun is a lightweight sandbox built on Linux cgroup and namespace. It's used to measure CPU and memory usage here. Source code is available at github.com/quark-zju/lrun.
(0) -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 +10000 tip