Fri, 15 Jun 2018 02:46:34 +0530 graft: move `if continue` to elif and add new line
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 15 Jun 2018 02:46:34 +0530] rev 38457
graft: move `if continue` to elif and add new line This will make upcoming patch where we introduce a new elif for the abort case more readable. Also added a new line before the if-else starts. Differential Revision: https://phab.mercurial-scm.org/D3752
Fri, 15 Jun 2018 02:34:27 +0530 graft: start storing new nodes formed in graftstate
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 15 Jun 2018 02:34:27 +0530] rev 38456
graft: start storing new nodes formed in graftstate This patch starts storing the new nodes formed during the ongoing graft operation in the graftstate. We need the list of new nodes formed while implmenting `graft --abort` which will strip out the new nodes. Differential Revision: https://phab.mercurial-scm.org/D3751
Thu, 14 Jun 2018 23:22:51 +0900 show: use filter() function to strip "tip" tag
Yuya Nishihara <yuya@tcha.org> [Thu, 14 Jun 2018 23:22:51 +0900] rev 38455
show: use filter() function to strip "tip" tag Before, an empty tag "" was inserted in place of "tip", resulting in double spaces.
Thu, 14 Jun 2018 23:10:14 +0900 templater: extend filter() to accept template expression for emptiness test
Yuya Nishihara <yuya@tcha.org> [Thu, 14 Jun 2018 23:10:14 +0900] rev 38454
templater: extend filter() to accept template expression for emptiness test This utilizes the pass-by-name nature of template arguments.
Thu, 14 Jun 2018 22:33:26 +0900 templater: introduce filter() function to remove empty items from list
Yuya Nishihara <yuya@tcha.org> [Thu, 14 Jun 2018 22:33:26 +0900] rev 38453
templater: introduce filter() function to remove empty items from list The primary use case is to filter out "tip" from a list of tags.
Sun, 17 Jun 2018 16:10:38 +0900 templater: fix truth testing of integer 0 taken from a list/dict
Yuya Nishihara <yuya@tcha.org> [Sun, 17 Jun 2018 16:10:38 +0900] rev 38452
templater: fix truth testing of integer 0 taken from a list/dict Broken at f9c426385853. bool(python_value) shouldn't be used here since an integer 0 has to be truthy for backward compatibility.
Mon, 18 Jun 2018 21:58:04 +0900 formatter: look for template symbols from the associated name
Yuya Nishihara <yuya@tcha.org> [Mon, 18 Jun 2018 21:58:04 +0900] rev 38451
formatter: look for template symbols from the associated name Otherwise symbolsused() would fail if a named template is specified with -T.
Mon, 25 Jun 2018 15:54:56 +0530 py3: add b'' prefixes in tests/test-obsolete-divergent.t
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 25 Jun 2018 15:54:56 +0530] rev 38450
py3: add b'' prefixes in tests/test-obsolete-divergent.t This makes the test pass on Python 3. # skip-blame because just b'' prefixes. Differential Revision: https://phab.mercurial-scm.org/D3832
Mon, 25 Jun 2018 01:07:23 +0530 py3: use stringutil.pprint() to print NoneType
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 25 Jun 2018 01:07:23 +0530] rev 38449
py3: use stringutil.pprint() to print NoneType Before this patch, when running test-debugcommands.t, we get a TypeError because NoneType can't be converted into bytes. This patch uses stringutil.pprint() to print the ui._colormode. We are now close to getting test-debugcommands.t passing on Python 3. Differential Revision: https://phab.mercurial-scm.org/D3831
Sat, 23 Jun 2018 08:59:18 +0530 rebase: make dry-run return 1 or 0 according to result
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 23 Jun 2018 08:59:18 +0530] rev 38448
rebase: make dry-run return 1 or 0 according to result In dry-run mode, if there is no conflict return 0, if any then return 1 Differential Revision: https://phab.mercurial-scm.org/D3829
Fri, 24 Mar 2017 00:33:35 -0400 relink: use context manager for lock management
Matt Harbison <matt_harbison@yahoo.com> [Fri, 24 Mar 2017 00:33:35 -0400] rev 38447
relink: use context manager for lock management
Fri, 24 Mar 2017 00:32:31 -0400 censor: use context manager for lock management
Matt Harbison <matt_harbison@yahoo.com> [Fri, 24 Mar 2017 00:32:31 -0400] rev 38446
censor: use context manager for lock management
Thu, 21 Jun 2018 22:33:42 +0900 templater: remove redundant member variables from templater class
Yuya Nishihara <yuya@tcha.org> [Thu, 21 Jun 2018 22:33:42 +0900] rev 38445
templater: remove redundant member variables from templater class We no longer need them since the engine is instantiated in __init__().
Thu, 21 Jun 2018 22:27:30 +0900 templater: resurrect cache of engine instance
Yuya Nishihara <yuya@tcha.org> [Thu, 21 Jun 2018 22:27:30 +0900] rev 38444
templater: resurrect cache of engine instance The engine-level cache was effectively disabled at 48289eafb37d "templater: drop extension point of engine classes (API)" by mistake, which made template rendering quite slow. Spotted by Martin von Zweigbergk.
Thu, 21 Jun 2018 22:23:43 +0900 templater: extract template loader to separate class
Yuya Nishihara <yuya@tcha.org> [Thu, 21 Jun 2018 22:23:43 +0900] rev 38443
templater: extract template loader to separate class This avoids reference cycle in the subsequent patch: templater -> _proc -> templater.load -> templater The templater class will be a thin wrapper around the loader and the engine.
Sat, 16 Jun 2018 14:34:35 +0900 tests: rename and document test-command-template.t
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jun 2018 14:34:35 +0900] rev 38442
tests: rename and document test-command-template.t So that we can specify templater tests as test-template-*. (original) $ wc -l test-command-template.t test-template-* 5041 test-command-template.t 23 test-template-filters.t 5064 total (at this patch) $ wc -l test-template-* 1088 test-template-basic.t 1376 test-template-functions.t 1195 test-template-keywords.t 1760 test-template-map.t 5419 total
Sat, 16 Jun 2018 14:14:52 +0900 tests: extract test-template-keywords.t from test-command-template.t
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jun 2018 14:14:52 +0900] rev 38441
tests: extract test-template-keywords.t from test-command-template.t
Sat, 16 Jun 2018 14:10:12 +0900 tests: fold test-template-filters.t into test-template-functions.t
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jun 2018 14:10:12 +0900] rev 38440
tests: fold test-template-filters.t into test-template-functions.t
Sat, 16 Jun 2018 13:17:11 +0900 tests: extract test-template-functions.t from test-command-template.t
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jun 2018 13:17:11 +0900] rev 38439
tests: extract test-template-functions.t from test-command-template.t I decided to not split filters and functions into two test files since we sometimes reimplement a filter as a function.
Sat, 16 Jun 2018 12:37:43 +0900 tests: extract test-template-map.t from test-command-template.t
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jun 2018 12:37:43 +0900] rev 38438
tests: extract test-template-map.t from test-command-template.t test-command-template.t is one of the slowest tests. Let's split it into 4 files of manageable size.
Thu, 21 Jun 2018 08:22:11 -0700 cleanupnodes: preserve phase of parents of new nodes
Martin von Zweigbergk <martinvonz@google.com> [Thu, 21 Jun 2018 08:22:11 -0700] rev 38437
cleanupnodes: preserve phase of parents of new nodes As Yuya noted in the review of D3818, passing in targetphase=phases.draft would result in advancing the phase boundary of a secret-phase parent. We never pass targetphase=phases.draft so far, but it's a bug waiting to happen. I tried to refactor it so max(parentphase, X) happened in one place, but I couldn't come up with good variables names and I ended up with a "newphase = max(newphase, parentphase)" line, which made the whole block not look any better to me. Differential Revision: https://phab.mercurial-scm.org/D3824
Sat, 16 Jun 2018 18:36:25 +0530 rebase: delete the comment which was not following "do not eat my data"
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 16 Jun 2018 18:36:25 +0530] rev 38436
rebase: delete the comment which was not following "do not eat my data" Differential Revision: https://phab.mercurial-scm.org/D3756
Fri, 08 Jun 2018 22:16:23 +0900 tags: unblock log-like template keywords and functions
Yuya Nishihara <yuya@tcha.org> [Fri, 08 Jun 2018 22:16:23 +0900] rev 38435
tags: unblock log-like template keywords and functions It checks if ctx will be used in template since loading ctx per revision could take extra 10-100msec in total depending on the number of tags.
Fri, 08 Jun 2018 22:10:22 +0900 formatter: provide hint of context keys required by template
Yuya Nishihara <yuya@tcha.org> [Fri, 08 Jun 2018 22:10:22 +0900] rev 38434
formatter: provide hint of context keys required by template This allows us to create ctx objects only if necessary. I tried another idea which is to populate ctx from 'repo' and 'node' value on demand. It worked, but seemed unnecessarily complicated. So I chose a simpler one. The datafields argument is a space-separated string for consistency with fm.write() API.
Thu, 14 Jun 2018 21:18:58 +0900 templatefuncs: declare resource requirements for future use
Yuya Nishihara <yuya@tcha.org> [Thu, 14 Jun 2018 21:18:58 +0900] rev 38433
templatefuncs: declare resource requirements for future use
Thu, 14 Jun 2018 21:17:56 +0900 templatefuncs: minimize resource requirements
Yuya Nishihara <yuya@tcha.org> [Thu, 14 Jun 2018 21:17:56 +0900] rev 38432
templatefuncs: minimize resource requirements
Thu, 21 Jun 2018 09:32:31 -0700 merge with stable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 21 Jun 2018 09:32:31 -0700] rev 38431
merge with stable
Tue, 19 Jun 2018 13:49:06 -0700 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com> [Tue, 19 Jun 2018 13:49:06 -0700] rev 38430
split: preserve phase of commit that is being split With this change, hg split will preserve the phase of the commit that is being split, ignoring the phases.new-commit setting. Previously, we would use whatever phases.new-commit was set to (unless our parent was secret, then we would be secret even if phases.new-commit=draft). Now, splitting a draft commit with phases.new-commit=secret does not cause the new commits to become secret, and splitting a secret commit with phases.new-commit=draft and a draft parent does not cause the new commits to become draft. Test cases and commit message taken from Kyle Lippincott's D2016 (thanks!). Differential Revision: https://phab.mercurial-scm.org/D3819
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 +10000 tip