Siddharth Agarwal <sid0@fb.com> [Sun, 21 May 2017 12:10:53 -0700] rev 32422
demandimport: move ignore list to __init__.py
We're going to use the same ignore list for Python 3.
Siddharth Agarwal <sid0@fb.com> [Sun, 21 May 2017 13:44:26 -0700] rev 32421
check: check modules in hgdemandimport
A few places only check modules in mercurial and hgext. Add
hgdemandimport to the list in those places.
Siddharth Agarwal <sid0@fb.com> [Sun, 21 May 2017 12:10:53 -0700] rev 32420
demandimport: move to separate package
In Python 3, demand loading is per-package. Keeping demandimport in the
mercurial package would disable demand loading for any modules in
mercurial.
Siddharth Agarwal <sid0@fb.com> [Sun, 21 May 2017 12:09:01 -0700] rev 32419
import-checker: add a way to directly import certain symbols
We'll use this for the 'demandimport' symbol in an upcoming patch.
Siddharth Agarwal <sid0@fb.com> [Sun, 21 May 2017 13:34:42 -0700] rev 32418
check-code: allow skipping hasattr check in py3-only code
hasattr is safe in Python 3, and in an upcoming patch we can't use
util.safehasattr.
Jun Wu <quark@fb.com> [Mon, 22 May 2017 01:17:49 -0700] rev 32417
profiling: allow loading profiling extension before everything else
6d642ecf1a89 makes profiler start early without loading extensions. That
makes it impossible for an extension to add customized profilers.
This patch adds a special case: if a profiler is not found but an extension
with the same name could be loaded, load that extension first, and expect it
to have a "profile" contextmanager method. This allows customized profilers
and extension setup time is still profiled.
Jun Wu <quark@fb.com> [Mon, 22 May 2017 00:51:56 -0700] rev 32416
extensions: allow loading a whitelisted subset of extensions
This feature will be used by the next patch.
Martin von Zweigbergk <martinvonz@google.com> [Mon, 22 May 2017 08:49:34 -0700] rev 32415
match: catch attempts to create case-insenstive exact matchers
Exact matchers are only created internally (as opposed to from user
input) based on a set of files that the caller collected before, so
they should always match the list exactly (i.e. case-sensitively).
Boris Feld <boris.feld@octobus.net> [Mon, 22 May 2017 19:29:21 +0200] rev 32414
test: remove aliases forcing date, use default-date
Now that we have the default-date by default and all code have been updated,
remove the old commands alias that forced the date as they are not longer
useful.
Writing tests now should be easier for everyone now that all dates should be
stable.
Boris Feld <boris.feld@octobus.net> [Mon, 22 May 2017 19:28:47 +0200] rev 32413
test: prepare tests for removing date aliases
In the next patch, I'm gonna removing the global command aliases that force
the epoch date but some tests either fail or their output change after that.
Instead I'm copying the needed aliases in the test files that will otherwise
change.
Update test-rebase-obsolete.t because a revision hash is based on the epoch
date after a 'commit --amend' and the output will change after removing date
aliases.
Update test-subrepo-git.t as the git subrepo doesn't use traditional date
mechanisms. I'm not sure that updating the git subrepo to support default-date
make sense. Add the commit alias to the test in order for making it pass after
removing the date aliases globally.
Boris Feld <boris.feld@octobus.net> [Tue, 16 May 2017 18:36:08 +0200] rev 32412
devel: update blackbox to use default-date
Blackbox now obeys the 'devel.default-date' option. As a side effect we can
delete the mock for blackblox related tests.
Boris Feld <boris.feld@octobus.net> [Fri, 19 May 2017 12:08:47 +0200] rev 32411
devel: use default-date config field when creating obsmarkers
Also use the default-date when creating obsmarkers. Currently they are created
with the current date and without any option to force their value.
To test the feature, we remove some of the many 'glob' used to match obsmarker
date in the tests.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 22 May 2017 16:59:57 +0200] rev 32410
devel: activate default-date in tests
It will make writing future tests more easier for everyone as we won't need to
glob dates anymore in tests.
Boris Feld <boris.feld@octobus.net> [Fri, 19 May 2017 12:18:25 +0200] rev 32409
devel: add a config field to force dates to timestamp 0
Add a new config field named default-date under the devel section to force all
implicits date to a specific value. If a explicit date is passed, it will
override the default.
This patch only affect changesets. Other usages (blackbox, obsmarkers) are
updated in later patchs.
The test runner is setting a bunch of alias to force the '--date' argument. We
will replace theses aliases in a later patch.
Boris Feld <boris.feld@octobus.net> [Fri, 19 May 2017 12:07:41 +0200] rev 32408
ui: add the possiblity to get a date config field
Add the method configdate to read a date from configuration. It uses the
util.rawparsedate refactored earlier to support all standard date formats.