Sun, 03 Apr 2016 13:23:40 +0900 templater: inline compiletemplate() function into engine
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2016 13:23:40 +0900] rev 28956
templater: inline compiletemplate() function into engine This allows the template engine to modify parsed tree.
Sun, 10 Apr 2016 17:23:09 +0900 templater: factor out function that creates templater from string template
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Apr 2016 17:23:09 +0900] rev 28955
templater: factor out function that creates templater from string template This function will host loading of template aliases. It is not defined at templater, but at formatter, since formatter is the module handling ui stuff in front of templater.
Sun, 03 Apr 2016 23:26:48 +0900 templater: separate function to create templater from map file (API)
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2016 23:26:48 +0900] rev 28954
templater: separate function to create templater from map file (API) New frommapfile() function will make it clear when template aliases will be loaded. They should be applied to command arguments and templates in hgrc, but not to map files. Otherwise, our stock styles and web templates (i.e map-file templates) could be modified unintentionally. Future patches will add "aliases" argument to __init__(), but not to frommapfile().
Sun, 03 Apr 2016 23:18:30 +0900 templater: extract function that loads template map file
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2016 23:18:30 +0900] rev 28953
templater: extract function that loads template map file Prepares for API change. See the next patch for details. 'map' variable is renamed to avoid shadowing map() function.
Sun, 03 Apr 2016 23:22:43 +0900 templater: demote "base" directory of map file to local variable
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2016 23:22:43 +0900] rev 28952
templater: demote "base" directory of map file to local variable It isn't referenced from other places.
Mon, 04 Apr 2016 22:50:50 +0900 notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org> [Mon, 04 Apr 2016 22:50:50 +0900] rev 28951
notify: do not load style file if template is specified (BC) This patch makes sure that either "tmpl" or "mapfile" is exclusively set, which is the same behavior as common log-like templates and formatter outputs. See the previous patch for why.
Mon, 04 Apr 2016 22:48:34 +0900 bugzilla: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org> [Mon, 04 Apr 2016 22:48:34 +0900] rev 28950
bugzilla: do not load style file if template is specified (BC) This prepares for the API change to support template aliases. I'm going to extract a factory function of templater that reads a map file: # original templater(mapfile, ..., cache, ...) # new templater.frommapfile(mapfile, ...) # read mapfile to build cache/map templater(..., cache, ...) # use specified cache (= map elements) This will make it clear to isolate stock styles (i.e. map files) from user aliases. Template aliases should be applied to command arguments and templates in hgrc, but not to map files. Otherwise, our stock styles and web templates could be modified unintentionally. This patch makes sure that either "tmpl" or "mapfile" is exclusively set. It's theoretically a behavior change, since you could put new keywords in template by defining them in a map file before: # mapfile foo = "{rev}" # hgrc [bugzilla] style = mapfile template = {foo} But the old behavior would be a bug because bugzilla.template is documented as "overrides style if specified". Also, common log-like templates and formatter doesn't allow using mapfile-keywords in a separate template. So I decided to make a BC. Since there was no test for the bugzilla extension, this adds new test that covers style/template output.
Sat, 16 Apr 2016 15:14:25 -0500 subrepo: disable localizations when calling Git (issue5176)
Matt Mackall <mpm@selenic.com> [Sat, 16 Apr 2016 15:14:25 -0500] rev 28949
subrepo: disable localizations when calling Git (issue5176) Spotted by Aidar Sayfullin.
Sat, 16 Apr 2016 12:41:58 +0530 py3: make test-demandimport use print_function
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 12:41:58 +0530] rev 28948
py3: make test-demandimport use print_function Replacing print statements with print function.
Sat, 16 Apr 2016 06:03:11 +0300 py3: use absolute_import in svnxml.py
Robert Stanca <robert.stanca7@gmail.com> [Sat, 16 Apr 2016 06:03:11 +0300] rev 28947
py3: use absolute_import in svnxml.py
Sat, 16 Apr 2016 05:34:21 +0300 py3: use absolute_import in sitecustomize.py
Robert Stanca <robert.stanca7@gmail.com> [Sat, 16 Apr 2016 05:34:21 +0300] rev 28946
py3: use absolute_import in sitecustomize.py
Sat, 16 Apr 2016 05:33:23 +0300 py3: use absolute_import in revlog-formatv0.py
Robert Stanca <robert.stanca7@gmail.com> [Sat, 16 Apr 2016 05:33:23 +0300] rev 28945
py3: use absolute_import in revlog-formatv0.py
Sat, 16 Apr 2016 05:32:10 +0300 py3: use absolute_import in printenv.py
Robert Stanca <robert.stanca7@gmail.com> [Sat, 16 Apr 2016 05:32:10 +0300] rev 28944
py3: use absolute_import in printenv.py
Sat, 16 Apr 2016 05:30:32 +0300 py3: use absolute_import in mockblackbox.py
Robert Stanca <robert.stanca7@gmail.com> [Sat, 16 Apr 2016 05:30:32 +0300] rev 28943
py3: use absolute_import in mockblackbox.py
Sat, 16 Apr 2016 05:29:29 +0300 py3: use absolute_import in killdaemons.py
Robert Stanca <robert.stanca7@gmail.com> [Sat, 16 Apr 2016 05:29:29 +0300] rev 28942
py3: use absolute_import in killdaemons.py
Fri, 15 Apr 2016 22:53:53 -0400 test-shelve: shorten a long path so it works on Windows
Matt Harbison <matt_harbison@yahoo.com> [Fri, 15 Apr 2016 22:53:53 -0400] rev 28941
test-shelve: shorten a long path so it works on Windows
Fri, 15 Apr 2016 22:37:52 -0400 test-convert-git: skip tests with invalid path characters on Windows
Matt Harbison <matt_harbison@yahoo.com> [Fri, 15 Apr 2016 22:37:52 -0400] rev 28940
test-convert-git: skip tests with invalid path characters on Windows
Fri, 15 Apr 2016 22:23:34 -0400 test-subrepo-git: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com> [Fri, 15 Apr 2016 22:23:34 -0400] rev 28939
test-subrepo-git: add globs for Windows
Thu, 14 Apr 2016 02:41:15 -0700 hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 14 Apr 2016 02:41:15 -0700] rev 28938
hook: report untrusted hooks as failure (issue5110) (BC) Before this patch, there was no way for a repository owner to ensure that validation hooks would be run by people with write access. If someone had write access but did not trust the user owning the repository, the config and its hook would simply be ignored. After this patch, hooks from untrusted configs are taken into account but never actually run. Instead they are reported as failures right away. This will ensure validation performed by a hook is not ignored. As a side effect writer can be forced to trust a repository hgrc by adding a 'pretxnopen.trust=true' hook to the file. This was discussed during the 3.8 sprint with Matt Mackall, Augie Fackler and Kevin Bullock.
Thu, 14 Apr 2016 17:03:49 -0700 hook: split config reading further
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 14 Apr 2016 17:03:49 -0700] rev 28937
hook: split config reading further We want an easy way to fetch the hook config with and without honoring "trusted" so that we can compare the values. So we extract the part retrieving raw hook data from the config to be able to call it twice in the next patch.
Thu, 14 Apr 2016 02:28:46 -0700 hook: small refactor to store hooks as dict instead of list
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 14 Apr 2016 02:28:46 -0700] rev 28936
hook: small refactor to store hooks as dict instead of list We are about to take untrusted hooks into account (to report them as failures) so we need to rearrange the code a bit to allow config overwriting each other in a later patch.
Fri, 15 Apr 2016 17:43:47 +0000 mail: retain hostname for sslutil.wrapsocket (issue5203)
timeless <timeless@mozdev.org> [Fri, 15 Apr 2016 17:43:47 +0000] rev 28935
mail: retain hostname for sslutil.wrapsocket (issue5203) SMTPS + STARTTLS need to provide serverhostname, and we can't store it in sslkwargs because that breaks something involving the https protocol.
Sat, 16 Apr 2016 04:06:24 +0530 tests: make test-trusted use print_function
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 04:06:24 +0530] rev 28934
tests: make test-trusted use print_function There was some confusing output format at some places in test-trusted.py.out, the new print function ends with a newline by default whereas the old print statement uses a space generally. So the output in test-trusted.py.out is changed because of some confusing output format which was produced by print statement
Sat, 16 Apr 2016 03:38:23 +0530 tests: make test-doctest use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 03:38:23 +0530] rev 28933
tests: make test-doctest use absolute_import
Sat, 16 Apr 2016 03:35:27 +0530 tests: make test-hgwebdir-paths use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 03:35:27 +0530] rev 28932
tests: make test-hgwebdir-paths use absolute_import
Sat, 16 Apr 2016 03:22:45 +0530 tests: make test-lrucachedict use print_function
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 03:22:45 +0530] rev 28931
tests: make test-lrucachedict use print_function
Sat, 16 Apr 2016 03:10:41 +0530 tests: make test-lrucachedict use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 03:10:41 +0530] rev 28930
tests: make test-lrucachedict use absolute_import
Sat, 16 Apr 2016 03:08:16 +0530 tests: make test-manifest use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 03:08:16 +0530] rev 28929
tests: make test-manifest use absolute_import
Sat, 16 Apr 2016 03:04:23 +0530 tests: make test-pathencode use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 03:04:23 +0530] rev 28928
tests: make test-pathencode use absolute_import
Sat, 16 Apr 2016 02:59:36 +0530 tests: make test-simplemerge use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 02:59:36 +0530] rev 28927
tests: make test-simplemerge use absolute_import
Thu, 14 Apr 2016 01:37:29 -0700 crecord: cleanup the remains of commit confirmation
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 14 Apr 2016 01:37:29 -0700] rev 28926
crecord: cleanup the remains of commit confirmation The confirmation screen is now only used for the 'review' option we simplify the code and rename the function.
Thu, 14 Apr 2016 01:27:18 -0700 crecord: drop the extra confirmation screen
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 14 Apr 2016 01:27:18 -0700] rev 28925
crecord: drop the extra confirmation screen The commit confirmation is not very useful -- it gives no way to view what you have selected, so you're blindly choosing whether to proceed or not, and it adds a lot of unnecessary friction to committing. In addition, we now have a working 'review' choice for those who really want to review the final change. Ryan McElroy initially submitted a config option to make this optional, but we never saw a V2. However as the freeze is near and curses have never been officially out of the door, I think it is worth skipping the config and trying getting it right for this release.
Fri, 15 Apr 2016 20:37:11 +0900 update: resurrect bare update from null parent to tip-most branch head
Yuya Nishihara <yuya@tcha.org> [Fri, 15 Apr 2016 20:37:11 +0900] rev 28924
update: resurrect bare update from null parent to tip-most branch head The situation is tricky if repository has no "default" branch, because "null" revision belongs to non-existent "default" branch. Before e1dd0de26557, bare update from null would bring us to the tip-most non-closed branch head. e1dd0de26557 removed the special handling of missing "default" branch since we wanted to stick to the uncommitted branch in that case. But, if the parent is "null" revision, and if the missing branch is "default", it shouldn't be an uncommitted branch. In this case, bare update should bring us to the tip-most head as before. This should fix the test breakage introduced by e1dd0de26557.
Tue, 12 Apr 2016 14:43:36 +0000 tests: run import-checker with tests .t files
timeless <timeless@mozdev.org> [Tue, 12 Apr 2016 14:43:36 +0000] rev 28923
tests: run import-checker with tests .t files
Tue, 12 Apr 2016 21:43:56 +0000 import-checker: parse python code from .t files
timeless <timeless@mozdev.org> [Tue, 12 Apr 2016 21:43:56 +0000] rev 28922
import-checker: parse python code from .t files
Wed, 13 Apr 2016 16:34:59 +0000 import-checker: track filenames for SyntaxErrors
timeless <timeless@mozdev.org> [Wed, 13 Apr 2016 16:34:59 +0000] rev 28921
import-checker: track filenames for SyntaxErrors
Wed, 13 Apr 2016 16:36:19 +0000 import-checker: track SyntaxErrors
timeless <timeless@mozdev.org> [Wed, 13 Apr 2016 16:36:19 +0000] rev 28920
import-checker: track SyntaxErrors We don't really need to report SyntaxErrors, since in theory docchecker or a test will catch them, but they happen, and we can't just have the code crash, so for now, we're reporting them.
Mon, 11 Apr 2016 22:34:04 +0000 import-checker: refactor source reading
timeless <timeless@mozdev.org> [Mon, 11 Apr 2016 22:34:04 +0000] rev 28919
import-checker: refactor source reading This will allow .t files to generate multiple sources. It will also allow .py doctests to generate additional sources.
Thu, 14 Apr 2016 01:06:45 +0530 tests: make test-pathencode use print_function
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Apr 2016 01:06:45 +0530] rev 28918
tests: make test-pathencode use print_function
Thu, 14 Apr 2016 01:03:24 +0530 tests: make test-run-tests use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Apr 2016 01:03:24 +0530] rev 28917
tests: make test-run-tests use absolute_import
Thu, 14 Apr 2016 00:58:31 +0530 tests: make test-symlink-os-yes-fs-no use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Apr 2016 00:58:31 +0530] rev 28916
tests: make test-symlink-os-yes-fs-no use absolute_import
Thu, 14 Apr 2016 00:56:08 +0530 tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Apr 2016 00:56:08 +0530] rev 28915
tests: make test-ui-color use absolute_import
Thu, 14 Apr 2016 00:53:35 +0530 tests: make test-url use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Apr 2016 00:53:35 +0530] rev 28914
tests: make test-url use absolute_import
Thu, 14 Apr 2016 00:49:58 +0530 tests: make test-trusted use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Apr 2016 00:49:58 +0530] rev 28913
tests: make test-trusted use absolute_import
Sun, 27 Mar 2016 20:31:56 +0900 templater: add parsing and expansion rules to process "templatealias" section
Yuya Nishihara <yuya@tcha.org> [Sun, 27 Mar 2016 20:31:56 +0900] rev 28912
templater: add parsing and expansion rules to process "templatealias" section The debugtemplate command is updated to show expanded tree, but still the template engine doesn't support alias expansion. That's why the test says "parse error" for now.
Sun, 27 Mar 2016 20:29:03 +0900 templater: add function to parse whole string as template expression
Yuya Nishihara <yuya@tcha.org> [Sun, 27 Mar 2016 20:29:03 +0900] rev 28911
templater: add function to parse whole string as template expression This will be a parser of template aliases, and it can also be used for processing quoted string templates in map files. That's why this function isn't defined in the upcoming _aliasrules class.
Tue, 29 Mar 2016 17:27:34 +0900 parser: factor out _trygetfunc() that extracts function name and arguments
Yuya Nishihara <yuya@tcha.org> [Tue, 29 Mar 2016 17:27:34 +0900] rev 28910
parser: factor out _trygetfunc() that extracts function name and arguments This provides a customization point for templater. In templater, there are two ways to call a unary function: func(x) and x|func. They are processed differently in templater due to historical reasons, but they should be handled in the same way while expanding aliases. In short, x|func should be processed as syntactic sugar for func(x). _funcnode and _getlist() are replaced by _trygetfunc().
Tue, 29 Mar 2016 17:21:11 +0900 parser: make _getalias() return (alias, pattern-args) pair
Yuya Nishihara <yuya@tcha.org> [Tue, 29 Mar 2016 17:21:11 +0900] rev 28909
parser: make _getalias() return (alias, pattern-args) pair This allows us to factor out a function that extracts a function (name, args) pair. See the next patch for why.
Tue, 29 Mar 2016 16:50:16 +0900 parser: drop redundant comparison between alias declaration tree and pattern
Yuya Nishihara <yuya@tcha.org> [Tue, 29 Mar 2016 16:50:16 +0900] rev 28908
parser: drop redundant comparison between alias declaration tree and pattern Since _getalias() explicitly tests the type and name of the pattern tree, we don't need to compare "a.tree == tree" for 'symbol', and "a.tree == tree[:2]" for 'func', where tree is either ('symbol', name) or ('func', ('symbol', name)). This change helps implementing better handling of template aliases. See the subsequent patches for details. The alias.tree field is removed as it is no longer used.
Thu, 14 Apr 2016 14:26:37 +0000 patchbomb: fix public-is-missing hint
timeless <timeless@mozdev.org> [Thu, 14 Apr 2016 14:26:37 +0000] rev 28907
patchbomb: fix public-is-missing hint Without this, there is no space between a hash and the -r preceding the next line in the use hg push hint
Thu, 14 Apr 2016 14:36:52 +0000 tests: clarify patchbomb repo is public not remote
timeless <timeless@mozdev.org> [Thu, 14 Apr 2016 14:36:52 +0000] rev 28906
tests: clarify patchbomb repo is public not remote
Wed, 13 Apr 2016 13:51:39 +0000 run-tests: set HGMODULEPOLICY for --pure
timeless <timeless@mozdev.org> [Wed, 13 Apr 2016 13:51:39 +0000] rev 28905
run-tests: set HGMODULEPOLICY for --pure Without this, my python 2.6 virtualenv test run with --pure and --local fails with: + ImportError: Python minor version mismatch: The Mercurial extension modules were compiled with Python 2.7.8, but Mercurial is currently using Python with sys.hexversion=33950192: Python 2.6.9 (unknown, Apr 13 2016, 12:40:12) + [GCC 4.9.2 20141101 (Red Hat 4.9.2-1)] + at: ~/hg/py26/bin/python
Thu, 14 Apr 2016 15:26:18 -0400 cmdutil: avoid recycling variable name "name" in namespaces code
Nathaniel Manista <nathaniel@google.com> [Thu, 14 Apr 2016 15:26:18 -0400] rev 28904
cmdutil: avoid recycling variable name "name" in namespaces code This just feels like asking for future trouble and confusion.
Tue, 05 Apr 2016 06:53:33 +0200 update: fix bare update to work on new branch
liscju <piotr.listkiewicz@gmail.com> [Tue, 05 Apr 2016 06:53:33 +0200] rev 28903
update: fix bare update to work on new branch So far bare update on new branch results in 'abort: branch new-branch not found'. This commit fixes this by updating to the parent of wctx. The effect of updating to the parent of wctx is to move to the paren't branch - this means that it is no longer necessary to prevent you from updating if you would lose your newly created branch.
Wed, 13 Apr 2016 09:56:51 +0200 remove: fix --force option help description (issue5177)
liscju <piotr.listkiewicz@gmail.com> [Wed, 13 Apr 2016 09:56:51 +0200] rev 28902
remove: fix --force option help description (issue5177) Before this commit --force option help description stated that file was removed and deleted even if file was added or modified which is not true. Force option removes added file only from dirstate, it doesn't delete it from the filesystem.
Tue, 05 Apr 2016 17:39:59 +0100 logtoprocess: new experimental extension
Martijn Pieters <mjpieters@fb.com> [Tue, 05 Apr 2016 17:39:59 +0100] rev 28901
logtoprocess: new experimental extension This extension lets you direct specific ui.log() information to shell commands, spawned in the background. This can be used to, say, capture timings, commandfailure tracebacks, etc., making the output available to other command-line tools.
Wed, 13 Apr 2016 00:16:21 +0200 convert: keep converted hg parents that are outside convert.hg.revs (BC)
Mads Kiilerich <madski@unity3d.com> [Wed, 13 Apr 2016 00:16:21 +0200] rev 28900
convert: keep converted hg parents that are outside convert.hg.revs (BC) Before, when converting revisions without also including their already converted parents in convert.hg.revs, the parents would no longer be parents. That seems unfortunate and we dare to assume that nobody ever wants that. Instead, preserve parents that are outside the current convert range but already have been converted. The parents returned in getcommit() are unconditionally converted, so we introduce a separate optparents with optional parents.
Thu, 24 Mar 2016 16:01:07 -0700 tests: coverage of ancestry with convert in multiple non-overlapping steps
Mads Kiilerich <madski@unity3d.com> [Thu, 24 Mar 2016 16:01:07 -0700] rev 28899
tests: coverage of ancestry with convert in multiple non-overlapping steps This exposes that parent information is lost in cases where it is possible to preserve it - and where it thus would make sense if that was what happened.
Mon, 29 Feb 2016 22:58:15 +0900 revset: rename findaliases() to expandaliases()
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 22:58:15 +0900] rev 28898
revset: rename findaliases() to expandaliases() This function returns a full tree of alias expansion applied, which sounds different from what "findaliases" would do.
Tue, 29 Mar 2016 16:30:59 +0900 parser: add short comment how aliases are expanded in phases
Yuya Nishihara <yuya@tcha.org> [Tue, 29 Mar 2016 16:30:59 +0900] rev 28897
parser: add short comment how aliases are expanded in phases
Tue, 29 Mar 2016 16:19:31 +0900 parser: reorder alias expansion routine to return early
Yuya Nishihara <yuya@tcha.org> [Tue, 29 Mar 2016 16:19:31 +0900] rev 28896
parser: reorder alias expansion routine to return early I think it improves readability to move trivial cases first, and unindent blocks.
Mon, 29 Feb 2016 22:15:44 +0900 parser: move functions that process alias expansion to rule-set class
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 22:15:44 +0900] rev 28895
parser: move functions that process alias expansion to rule-set class They will be commonly used by revset and templater. It isn't easy to understand how _expand() works, so I'll add comments by a follow-up patch. The local variable 'alias' is renamed to 'a' to avoid shadowing the global 'alias' class.
Mon, 29 Feb 2016 22:10:48 +0900 revset: unindent codes in _getalias() function
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 22:10:48 +0900] rev 28894
revset: unindent codes in _getalias() function We generally do return early if tree isn't a tuple.
Mon, 29 Feb 2016 19:24:15 +0900 parser: extract helper that creates a dict of aliases
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 19:24:15 +0900] rev 28893
parser: extract helper that creates a dict of aliases This will be common between revset and templater. The local variable 'alias' is renamed to 'a' to avoid shadowing the global 'alias' class.
Mon, 29 Feb 2016 18:33:30 +0900 parser: construct alias object by rule-set class
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 18:33:30 +0900] rev 28892
parser: construct alias object by rule-set class It was odd that the revsetalias did the whole parsing stuff in __init__(). Instead, this patch adds a factory function to the aliasrules class, and makes the alias (= revsetalias) class a plain-old value object.
Fri, 08 Apr 2016 16:42:43 +0200 graphmod: shorten graph
santiagopim <santiagopim@gmail.com> [Fri, 08 Apr 2016 16:42:43 +0200] rev 28891
graphmod: shorten graph Shorten the graph, cutting the all vertical (not oblique) edges rows. Activate with 'graphshorten = true' in [experimental] section. Example graph with deactivated option: $ hg log --graph --template '{rev} {desc|firstline}' --rev 1035:1015 o 1035 Merge with BOS |\ | o 1034 Fix help output, and a few broken tests. | | | o 1033 Merge with MPM. | |\ | | o 1032 Get patchbomb working with tip again. | | | | | o 1031 Rewrite log command. New version is faster and more featureful. | | | | | o 1030 Merge with MPM. | | |\ | | | o 1029 Emacs: implement hg-incoming, hg-outgoing and hg-push. | | | | | | | o 1028 Add commands.debugconfig. | | | | | | | o 1027 Emacs: fix up hg-log and hg-diff to operate more uniformly. | | | | | | | o 1026 Merge with MPM. | | | |\ | | | | o 1025 Merge with MPM. | | | | | | | | | ~ | | | o 1024 Sync buffers prior to doing a diff. | | | | | | | ~ o | | 1023 Minor tweak to the revgen algorithm |/ / o | 1022 Minor hgwebdir tweaks | | o | 1021 Add Makefile to the manifest | | o | 1020 Add default make rule | | o | 1019 Create helper functions for I/O to files in the working directory | | o | 1018 Add some aliases | | o | 1017 Fix up help for binary options |/ o 1016 Teach annotate about binary files | o 1015 Add automatic binary file detection to diff and export | ~ Example graph with activated option: $ hg log --graph --template '{rev} {desc|firstline}' --rev 1035:1015 o 1035 Merge with BOS |\ | o 1034 Fix help output, and a few broken tests. | o 1033 Merge with MPM. | |\ | | o 1032 Get patchbomb working with tip again. | | o 1031 Rewrite log command. New version is faster and more featureful. | | o 1030 Merge with MPM. | | |\ | | | o 1029 Emacs: implement hg-incoming, hg-outgoing and hg-push. | | | o 1028 Add commands.debugconfig. | | | o 1027 Emacs: fix up hg-log and hg-diff to operate more uniformly. | | | o 1026 Merge with MPM. | | | |\ | | | | o 1025 Merge with MPM. | | | | | | | | | ~ | | | o 1024 Sync buffers prior to doing a diff. | | | | | | | ~ o | | 1023 Minor tweak to the revgen algorithm |/ / o | 1022 Minor hgwebdir tweaks o | 1021 Add Makefile to the manifest o | 1020 Add default make rule o | 1019 Create helper functions for I/O to files in the working directory o | 1018 Add some aliases o | 1017 Fix up help for binary options |/ o 1016 Teach annotate about binary files o 1015 Add automatic binary file detection to diff and export | ~
Mon, 11 Apr 2016 12:06:18 -0700 tests: ensure that 'hg update' is disabled during histedit (issue3655)
Jason Gauci <jjg@fb.com> [Mon, 11 Apr 2016 12:06:18 -0700] rev 28890
tests: ensure that 'hg update' is disabled during histedit (issue3655)
Tue, 12 Apr 2016 00:34:02 -0400 test-remove: drop a useless Windows specific conditional
Matt Harbison <matt_harbison@yahoo.com> [Tue, 12 Apr 2016 00:34:02 -0400] rev 28889
test-remove: drop a useless Windows specific conditional The Windows branch didn't pick up the 'deleting' progress bar addition from 62e73d42bd14. But since the Windows branch already globbed the error message, let's just drop the other branch.
Tue, 15 Mar 2016 23:04:35 -0400 test-blackbox: add missing glob for Windows
Matt Harbison <matt_harbison@yahoo.com> [Tue, 15 Mar 2016 23:04:35 -0400] rev 28888
test-blackbox: add missing glob for Windows The test warns instead of completes without this.
Tue, 15 Mar 2016 21:56:01 -0400 test-largefiles: stabilize output for Windows
Matt Harbison <matt_harbison@yahoo.com> [Tue, 15 Mar 2016 21:56:01 -0400] rev 28887
test-largefiles: stabilize output for Windows Systems with unix-permissions have a test above this that adds an additional head.
Tue, 15 Mar 2016 21:47:43 -0400 test-import: fix output on Windows
Matt Harbison <matt_harbison@yahoo.com> [Tue, 15 Mar 2016 21:47:43 -0400] rev 28886
test-import: fix output on Windows There's a symlink conditionalized test above this that causes the rev to be 1. It isn't important to this test, so ignore it.
Tue, 15 Mar 2016 21:45:32 -0400 test-install: fix output on Windows
Matt Harbison <matt_harbison@yahoo.com> [Tue, 15 Mar 2016 21:45:32 -0400] rev 28885
test-install: fix output on Windows See 1ff28873830e.
Thu, 07 Apr 2016 00:34:07 +0000 check-code: reject import urllib
timeless <timeless@mozdev.org> [Thu, 07 Apr 2016 00:34:07 +0000] rev 28884
check-code: reject import urllib
Wed, 06 Apr 2016 23:22:12 +0000 pycompat: switch to util.urlreq/util.urlerr for py3 compat
timeless <timeless@mozdev.org> [Wed, 06 Apr 2016 23:22:12 +0000] rev 28883
pycompat: switch to util.urlreq/util.urlerr for py3 compat
Thu, 07 Apr 2016 00:05:48 +0000 pycompat: add util.urlerr util.urlreq classes for py3 compat
timeless <timeless@mozdev.org> [Thu, 07 Apr 2016 00:05:48 +0000] rev 28882
pycompat: add util.urlerr util.urlreq classes for py3 compat python3 url.request and url.error are mapped as util.urlreq/util.urlerr python2 equivalents from urllib/urllib2 are mapped according to the py3 hierarchy
Sun, 20 Mar 2016 16:49:56 -0700 test-progress: disable mocking-time tests on chg
Yuya Nishihara <yuya@tcha.org> [Sun, 20 Mar 2016 16:49:56 -0700] rev 28881
test-progress: disable mocking-time tests on chg It's hard to make these tests compatible with chg because a mocked time.time() is recorded and accessed by progbar at random timing. I don't think it's worth fixing this test as it is considered a unit test of time estimates, so just ignores on chg.
Sun, 20 Mar 2016 14:55:56 -0700 hghave: add "chg" flag to skip tests that can't be compatible with chg
Yuya Nishihara <yuya@tcha.org> [Sun, 20 Mar 2016 14:55:56 -0700] rev 28880
hghave: add "chg" flag to skip tests that can't be compatible with chg Several tests fail with chg for several reasons such as loaded chgserver extension, running uisetup() per server instead of per runcommand, etc. Since these tests can't/shouldn't be changed to be chg friendly, we need a flag to skip them. This patch explicitly drops CHGHG environment if chg isn't involved. This way, hghave can just check if CHGHG exists.
Wed, 06 Apr 2016 19:09:12 +0000 tests: add new test for #! shebang lines
timeless <timeless@mozdev.org> [Wed, 06 Apr 2016 19:09:12 +0000] rev 28879
tests: add new test for #! shebang lines * use #!/bin/sh not e.g. #!/usr/bin/sh * use #!/usr/bin/env python not e.g. #!/usr/bin/python
Sun, 27 Mar 2016 13:00:28 -0700 largefiles: introduce push --lfrev to control which revisions are pushed
Mads Kiilerich <madski@unity3d.com> [Sun, 27 Mar 2016 13:00:28 -0700] rev 28878
largefiles: introduce push --lfrev to control which revisions are pushed The default of pushing all largefiles referenced in outgoing revisions is safe, but also expensive and sometimes not what is needed. We thus introduce a --lfrev option, similar to what pull already has. By specifying an empty set of revisions (or null), it is possible to get lazy (and insecure!) pushes of revisions without referenced largefiles, similar to how pull works.
Wed, 13 Apr 2016 01:45:45 +0200 largefiles: don't access repo.changelog directly in getlfilestoupload
Mads Kiilerich <madski@unity3d.com> [Wed, 13 Apr 2016 01:45:45 +0200] rev 28877
largefiles: don't access repo.changelog directly in getlfilestoupload Make it possible to pass both nodes and revisions to getlfilestoupload.
Wed, 13 Apr 2016 01:09:11 +0200 localrepo: refactor prepushoutgoinghook to take a pushop
Mads Kiilerich <madski@unity3d.com> [Wed, 13 Apr 2016 01:09:11 +0200] rev 28876
localrepo: refactor prepushoutgoinghook to take a pushop prepushoutgoinghook was introduced in 6c383c871fdb and largefiles is the only in-tree use of it. Refactor it to be more useful for other use cases in largefiles.
Tue, 29 Mar 2016 00:08:25 +0900 parser: unify parser function of alias declaration and definition
Yuya Nishihara <yuya@tcha.org> [Tue, 29 Mar 2016 00:08:25 +0900] rev 28875
parser: unify parser function of alias declaration and definition We no longer have to keep them separately.
Tue, 29 Mar 2016 00:05:14 +0900 revset: unify function that parses alias declaration and definition
Yuya Nishihara <yuya@tcha.org> [Tue, 29 Mar 2016 00:05:14 +0900] rev 28874
revset: unify function that parses alias declaration and definition We no longer need separate parsers. Only difference between _parsealiasdecl() and _parsealiasdefn() is whether or not to flatten 'or' tree. Since alias declaration should have no 'or' operator, there was no practical difference.
Mon, 29 Feb 2016 18:10:07 +0900 parser: move alias definition parser to common rule-set class
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 18:10:07 +0900] rev 28873
parser: move alias definition parser to common rule-set class The original _parsealiasdefn() function is split into common _builddefn() and revset-specific _parsealiasdefn(). revset._relabelaliasargs() is removed as it is no longer used. The doctests are ported by using the dummy parse().
Mon, 29 Feb 2016 18:00:51 +0900 parser: move _relabelaliasargs() to common rule-set class
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 18:00:51 +0900] rev 28872
parser: move _relabelaliasargs() to common rule-set class This has no doctest because it will be covered by _builddefn() introduced by the next patch. revset._relabelaliasargs() will be removed soon.
Mon, 29 Feb 2016 17:54:03 +0900 parser: move alias declaration parser to common rule-set class
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 17:54:03 +0900] rev 28871
parser: move alias declaration parser to common rule-set class The original _parsealiasdecl() function is split into common _builddecl() and revset-specific _parsealiasdecl(). And the original _parsealiasdecl() call is temporarily replaced by rules._builddecl(), which should be eliminated later. The doctests are mostly ported by using the dummy parse(), but the test for 'foo bar' is kept in _parsealiasdecl() as it checks if "pos != len(decl)" is working. Also, 'foo($1)' test is added to make sure the alias tokenizer can handle '$1' symbol, which is the only reason why we need _parsealiasdecl().
Sun, 03 Apr 2016 16:55:23 +0900 parser: add stub class that will host alias parsing and expansion
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2016 16:55:23 +0900] rev 28870
parser: add stub class that will host alias parsing and expansion This class will keep syntax rules that are necessary to parse and expand aliases. The implementations will be extracted from the revset module. In order to make the porting easier, this class keeps parsedecl and parsedefn separately, which will be unified later. Also, getlist and funcnode will be refactored by future patches for better handling of the template aliases. The following public functions will be added: aliasrules.build(decl, defn) -> aliasobj parse decl and defn into an object that keeps alias name, arguments and replacement tree. aliasrules.buildmap(aliasitems) -> aliasdict helper to build() a dict of alias objects from a list of (decl, defn) aliasrules.expand(aliasdict, tree) -> tree expand aliases in tree recursively Because these functions aren't introduced by this series, there would remain a few wrapper functions in the revset module. These ugly wrappers should be eliminated by the next series. This class is considered an inheritable namespace, which will host only class/static methods. That's because it won't have no object-scope variables. I'm not a big fan of using class as a syntax sugar, but I admit it can improve code readability at some level. So let's give it a try.
Mon, 29 Feb 2016 17:43:39 +0900 revset: narrow scope of "except ParseError" block in _parsealiasdecl()
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 17:43:39 +0900] rev 28869
revset: narrow scope of "except ParseError" block in _parsealiasdecl() This helps to factor out a common function. "if True" will be removed soon.
Tue, 12 Apr 2016 04:06:50 -0700 obsstore: move delete function from obsstore class to repair module
Kostia Balytskyi <ikostia@fb.com> [Tue, 12 Apr 2016 04:06:50 -0700] rev 28868
obsstore: move delete function from obsstore class to repair module Since one of the original patches was accepted already and people on the mailing list still have suggestions as to how this should be improved, I'm implementing those suggestions in the following patches (this and the ones that might follow).
Tue, 12 Apr 2016 03:40:53 -0700 debugobsolete: style fixes to debugobsolete that slipped from original commit
Kostia Balytskyi <ikostia@fb.com> [Tue, 12 Apr 2016 03:40:53 -0700] rev 28867
debugobsolete: style fixes to debugobsolete that slipped from original commit
Wed, 09 Mar 2016 10:47:33 -0500 import: document --exact behavior in more detail
Matt Mackall <mpm@selenic.com> [Wed, 09 Mar 2016 10:47:33 -0500] rev 28866
import: document --exact behavior in more detail
Mon, 11 Apr 2016 19:46:50 +0200 util: add doctest to datestr()
Adrian Buehlmann <adrian@cadifra.com> [Mon, 11 Apr 2016 19:46:50 +0200] rev 28865
util: add doctest to datestr()
Tue, 12 Apr 2016 00:30:28 +0200 date: fix boundary check of negative integer
Florent Gallaire <fgallaire@gmail.com> [Tue, 12 Apr 2016 00:30:28 +0200] rev 28864
date: fix boundary check of negative integer
Sun, 10 Apr 2016 22:00:34 +0100 chg: server exited with code 0 without being connectable is an error
Jun Wu <quark@fb.com> [Sun, 10 Apr 2016 22:00:34 +0100] rev 28863
chg: server exited with code 0 without being connectable is an error Before this patch, if the server started by chg has exited with code 0 without creating a connectable unix domain socket at the specified address, chg will exit with code 0, which is not the correct behavior. It can happen, for example, CHGHG is set to /bin/true. This patch addresses the issue by checking the exit code of the server and printing a new error message if the server exited normally but cannot be reached.
Fri, 08 Apr 2016 23:33:28 -0700 shelve: refactor directory name into constant
Oleg Afanasyev <olegaf@fb.com> [Fri, 08 Apr 2016 23:33:28 -0700] rev 28862
shelve: refactor directory name into constant Shelve directory name extracted into constant to avoid typos/duplication.
Sun, 10 Apr 2016 20:55:37 +0000 pycompat: switch to util.stringio for py3 compat
timeless <timeless@mozdev.org> [Sun, 10 Apr 2016 20:55:37 +0000] rev 28861
pycompat: switch to util.stringio for py3 compat
(0) -10000 -3000 -1000 -300 -100 -96 +96 +100 +300 +1000 +3000 +10000 tip