timeless <timeless@mozdev.org> [Wed, 30 Mar 2016 07:24:51 +0000] rev 28700
py24: remove check-code py24 notation
We require python2.6+
timeless <timeless@mozdev.org> [Wed, 30 Mar 2016 08:02:34 +0000] rev 28699
py3: convert hghave output to text
Before this, Python3 generated:
b'skipped: unknown feature: not-py3k\n'
timeless <timeless@mozdev.org> [Wed, 30 Mar 2016 05:26:51 +0000] rev 28698
py3: convert prereq bytes to string in run-tests
Without this, run-tests would generate:
WARNING: Did not find prerequisite tool: b'python3.5'
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 28 Mar 2016 12:50:56 -0700] rev 28697
record: deprecate the extension
The feature has been moved into core behind the -i flag. We can safely
deprecated the extension and point people at the --interactive flag in core.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 30 Mar 2016 02:10:44 +0900] rev 28696
templater: use templatefunc to mark a function as template function
Using decorator can localize changes for adding (or removing) a
template function in source code.
This patch also removes leading ":FUNC(ARG...):" part in help document
of each function, because using templatefunc makes it useless.
This patch uses not 'func' but 'templatefunc' as a decorator name,
because the former is too generic one, even though the latter is a
little redundant in 'templater.py'.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 30 Mar 2016 02:10:44 +0900] rev 28695
registrar: add templatefunc to mark a function as template function (API)
This patch also adds loadfunction() to templater, because this
combination helps to figure out how they cooperate with each other.
Listing up loadfunction() in dispatch.extraloaders causes implicit
loading template function at loading (3rd party) extension.
This patch explicitly tests whether templatefunc decorator works as
expected, because there is no bundled extension, which defines
template function.
This change requires that "templatefunc" attribute of (3rd party)
extension is registrar.templatefunc or so.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 30 Mar 2016 02:10:44 +0900] rev 28694
keyword: use templatefilter to mark a function as template filter
This patch also adds test for filter 'svnisodate' and 'svnutcdate' for
safety, because there is no test using them, yet.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 30 Mar 2016 02:10:44 +0900] rev 28693
templatefilters: use templatefilter to mark a function as template filter
Using decorator can localize changes for adding (or removing) a
template filter function in source code.
This patch also removes leading ":FILTER:" part in help document of
each filters, because using templatefilter makes it useless.
This patch uses not 'filter' but 'templatefilter' as a decorator name,
because the former name hides Python built-in one, even though the
latter is a little redundant in 'templatefilters.py'.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 30 Mar 2016 02:10:44 +0900] rev 28692
registrar: add templatefilter to mark a function as template filter (API)
This patch also adds loadfilter() to templatefilters, because this
combination helps to figure out how they cooperate with each other.
Listing up loadfilter() in dispatch.extraloaders causes implicit
loading template filter functions at loading (3rd party) extension.
This change requires that "templatefilter" attribute of (3rd party)
extension is registrar.templatefilter or so.
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 20:43:30 +0900] rev 28691
revset: inline _getaliasarg() function
This function is now much simpler than before. Inlining small functions helps
to extract a reusable alias processor.
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 20:27:08 +0900] rev 28690
revset: drop redundant check for unknown alias arguments
Since _parsealiasdefn() rejects unknown alias arguments, _checkaliasarg() is
unnecessary. New test is added to make sure unknown '$n' symbols are rejected.
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 19:48:33 +0900] rev 28689
revset: move tagging of alias arguments from tokenization to parsing phase
In short, this patch moves the hack from tokenizedefn() to _relabelaliasargs(),
which is called after parsing. This change aims to eliminate tight dependency
on the revset tokenizer.
Before this patch, we had to rewrite an alias argument to a pseudo function:
"$1" -> "_aliasarg('$1')"
('symbol', '$1') -> ('function', ('symbol', '_aliasarg'), ('string', '$1'))
This was because the tokenizer must generate tokens that are syntactically
valid. By moving the process to the parsing phase, we can assign a unique tag
to an alias argument.
('symbol', '$1') -> ('_aliasarg', '$1')
Since new _aliasarg node never be generated from a user input, we no longer
have to verify a user input at findaliases(). The test for _aliasarg("$1") is
removed as it is syntactically valid and should pass the parsing phase.
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 21:46:50 +0900] rev 28688
revset: add test that should fail if '_aliasarg' tag is removed
I'm going to refactor the alias processing functions. We need '_aliasarg' tag
to limit the scope of the alias expansion, but it wasn't covered by the test.
This patch adds the test that should fail if '_aliasarg' were 'symbol'.
This is the first half of the second part of the "template alias" series. The
whole series will consist of the following parts:
1. make parsed template tree to be compatible with parser functions
(
1d461ee26e1b and
73d01cba5810)
2. refactor alias processing to be less dependent on revset module
(1/2 in this series)
3. extract reusable component to parser module
4. clean up it
5. extend it to support template syntax
6. add debugging/testing functions of template aliases
7. add alias expansion routine to templater
Yuya Nishihara <yuya@tcha.org> [Sun, 27 Mar 2016 17:42:19 +0900] rev 28687
templater: do not strip non-quote characters from template config
Before this patch, the first and last characters were stripped from
ui.logtemplate and template.* if they were the same. It could lead to a
strange result as quotes are optional. See the test for example.
Laurent Charignon <lcharignon@fb.com> [Tue, 29 Mar 2016 11:50:41 -0700] rev 28686
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Before this patch, rebase --continue would crash when trying to resume a rebase
of obsolete revisions whose successors were in the destination.
This patch adds logic to recompute the mapping when rebase is resumed. This
patch also adds a test that showcased the crash before the code change.
Laurent Charignon <lcharignon@fb.com> [Tue, 29 Mar 2016 11:49:45 -0700] rev 28685
rebase: refactor of error handling code path for rebaseskipobsolete
This patch extracts the error handling code path to go in a separate function.
In the next patch we will able to reuse this logic and avoid duplicated code.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 29 Mar 2016 23:59:32 +0900] rev 28684
destutil: show message and hint at updating to the closed head as warning
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 29 Mar 2016 23:59:32 +0900] rev 28683
destutil: make messages at updating to the closed head usual form
This patch makes messages at updating to the closed head usual form
for Mercurial as below:
one line description of the problem with no period
(a suggestion about how to move forward or get more info)
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 29 Mar 2016 16:41:32 +0530] rev 28682
py3: make test-ui-color use print_function
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 29 Mar 2016 16:38:27 +0530] rev 28681
py3: make test-ui-config use print_function
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 29 Mar 2016 16:33:09 +0530] rev 28680
py3: make test-ui-config use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 29 Mar 2016 16:29:21 +0530] rev 28679
py3: make test-ui-verbosity use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 29 Mar 2016 16:27:01 +0530] rev 28678
py3: make test-ui-verbosity use print_function
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 29 Mar 2016 16:23:40 +0530] rev 28677
py3: make test-url use print_function