Sat, 14 Oct 2017 14:07:39 -0400 httppeer: pass url to urllib as native str, not bytes
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 14:07:39 -0400] rev 34699
httppeer: pass url to urllib as native str, not bytes Differential Revision: https://phab.mercurial-scm.org/D1075
Sat, 14 Oct 2017 13:33:37 +0200 tersestatus: rework dirnode and tersedir docstrings
Denis Laxalde <denis@laxalde.org> [Sat, 14 Oct 2017 13:33:37 +0200] rev 34698
tersestatus: rework dirnode and tersedir docstrings Follow-up on refactorings 3d6d4b12128e and 5d98674df18a of the original changeset 7e3001b74ab3 by updating the docstrings of dirnode class and tersedir function: * rewrite dirnode.iterfilepaths()'s docstring (the method got renamed and reimplemented in 5d98674df18a); * simplify and update dirnode.tersewalk() to remove reference to 'self' and 'tersedict'; * use the imperative form of verbs in the first sentence of all docstrings. Differential Revision: https://phab.mercurial-scm.org/D1072
Wed, 04 Oct 2017 10:52:50 -0400 bitmanipulation: reformat with clang-format
Augie Fackler <augie@google.com> [Wed, 04 Oct 2017 10:52:50 -0400] rev 34697
bitmanipulation: reformat with clang-format Mostly un-wrapping over-wrapped definitions. Differential Revision: https://phab.mercurial-scm.org/D1069
Mon, 14 Sep 2015 14:16:31 -0400 hghave: add a check for clang-format
Augie Fackler <augie@google.com> [Mon, 14 Sep 2015 14:16:31 -0400] rev 34696
hghave: add a check for clang-format Differential Revision: https://phab.mercurial-scm.org/D1068
Thu, 05 Oct 2017 14:16:20 -0400 python3: use our bytes-only version of cgi.escape everywhere
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:16:20 -0400] rev 34695
python3: use our bytes-only version of cgi.escape everywhere As suggested by Yuya in D965. Differential Revision: https://phab.mercurial-scm.org/D1067
Sat, 14 Oct 2017 02:57:26 -0400 url: add cgi.escape equivalent for bytestrings
Augie Fackler <augie@google.com> [Sat, 14 Oct 2017 02:57:26 -0400] rev 34694
url: add cgi.escape equivalent for bytestrings This seems like a sensible enough place to put it. Differential Revision: https://phab.mercurial-scm.org/D1066
Thu, 05 Oct 2017 14:15:05 -0400 python3: move from using func_name to __name__
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:15:05 -0400] rev 34693
python3: move from using func_name to __name__ Previously reviewed as D964, but required some fixups and therefore seems to need a new revision. Differential Revision: https://phab.mercurial-scm.org/D1065
Sat, 14 Oct 2017 01:20:12 -0400 tests: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com> [Sat, 14 Oct 2017 01:20:12 -0400] rev 34692
tests: add globs for Windows
Sat, 14 Oct 2017 01:07:59 -0400 test-conflicts: conditionalize for no-symlink platforms
Matt Harbison <matt_harbison@yahoo.com> [Sat, 14 Oct 2017 01:07:59 -0400] rev 34691
test-conflicts: conditionalize for no-symlink platforms It seems better to create standin files for the symlinks, rather than blacklist the entire tests. Especially since link vs file doesn't seem to affect the tests. There is more instability in test-pathconflicts-{basic,merge}.t that I can't figure out.
Sat, 14 Oct 2017 00:20:59 -0400 test-extdata: conditonalize error message for Windows
Matt Harbison <matt_harbison@yahoo.com> [Sat, 14 Oct 2017 00:20:59 -0400] rev 34690
test-extdata: conditonalize error message for Windows
Sat, 14 Oct 2017 00:07:26 -0400 test-audit-path: fill in missing output for no-symlink case
Matt Harbison <matt_harbison@yahoo.com> [Sat, 14 Oct 2017 00:07:26 -0400] rev 34689
test-audit-path: fill in missing output for no-symlink case It looks like this was meant to go with 989e884d1be9.
Sat, 14 Oct 2017 13:37:14 +0900 test-i18n: guard gettext test appropriately
Yuya Nishihara <yuya@tcha.org> [Sat, 14 Oct 2017 13:37:14 +0900] rev 34688
test-i18n: guard gettext test appropriately
Sun, 08 Oct 2017 13:08:31 +0200 hook: add a 'hashook' function to test for hook existence
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 13:08:31 +0200] rev 34687
hook: add a 'hashook' function to test for hook existence Preparing the data for some hooks can be expensive. Add a function to check if a hook exists so we can skip useless preparation if no hook is configured.
Fri, 13 Oct 2017 22:42:17 +0200 build: for the bootstrap phase of a deb/rpm build pure-py mercurial is enough
muxator <a.mux@inwind.it> [Fri, 13 Oct 2017 22:42:17 +0200] rev 34686
build: for the bootstrap phase of a deb/rpm build pure-py mercurial is enough When bootstrapping a deb/rpm build, packagelib.sh starts performing a local build for the sole purpose of parsing the output of "hg version". Then it "hg archive"s the source code, and builds everything again. For that initial step, we are perfectly good in using a pure python mercurial, without compiling the c modules (base85, bdiff, zstdlib, ...). On my personal system, this cuts down 22 seconds for a package build (the bootstrapping build goes from ~30 to ~8 seconds).
Fri, 13 Oct 2017 12:40:05 -0700 context: add a fast-comparision for arbitraryfilectx and workingfilectx
Phil Cohen <phillco@fb.com> [Fri, 13 Oct 2017 12:40:05 -0700] rev 34685
context: add a fast-comparision for arbitraryfilectx and workingfilectx Differential Revision: https://phab.mercurial-scm.org/D1056
Fri, 13 Oct 2017 04:02:06 +0530 tersestatus: avoid modifying tersedict
Denis Laxalde <denis@laxalde.org> [Fri, 13 Oct 2017 04:02:06 +0530] rev 34684
tersestatus: avoid modifying tersedict Turn dirnode's methods into generators which can be used to update "tersedict" in caller. So instead of passing the "tersedict" to be mutated here and there, it's now clearer where it is updated as it's purely a local variable to tersedir() function. While I was here, I renamed _processtersestatus to tersewalk and _addfilestotersed to iterfilepaths. Differential Revision: https://phab.mercurial-scm.org/D1043
Wed, 11 Oct 2017 21:19:19 +0200 tersestatus: make methods part of the dirnode class
Denis Laxalde <denis@laxalde.org> [Wed, 11 Oct 2017 21:19:19 +0200] rev 34683
tersestatus: make methods part of the dirnode class Differential Revision: https://phab.mercurial-scm.org/D1042
Fri, 06 Oct 2017 20:54:23 +0530 tersestatus: re-implement the functionality to terse the status
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 06 Oct 2017 20:54:23 +0530] rev 34682
tersestatus: re-implement the functionality to terse the status The previous terse status implementation was hacking around os.listdir() and was flaky. There have been a lot of instances of mercurial buildbots failing and google's internal builds failing because of the hacky implementation of terse status. Even though I wrote the last implementation but it was hard for me to find the reason for the flake. The new implementation can be slower than the old one but is clean and easy to understand. In this we create a node object for each directory and create a tree like structure starting from the root of the working copy. While building the tree like structure we store some information on the nodes which will be helpful for deciding later whether we can terse the dir or not. Once the whole tree is build we traverse and built the list of files for each status with required tersing. There is no behaviour change as the old test, test-status-terse.t passes with the new implementation. Differential Revision: https://phab.mercurial-scm.org/D985
Fri, 13 Oct 2017 12:54:46 -0700 context: add is `isinmemory()` to filectx
Phil Cohen <phillco@fb.com> [Fri, 13 Oct 2017 12:54:46 -0700] rev 34681
context: add is `isinmemory()` to filectx This will make it easier to skip certain behavior when running an in-memory merge. Differential Revision: https://phab.mercurial-scm.org/D1061
Fri, 06 Oct 2017 06:48:43 -0700 merge: ensure that we always commit the mergestate
Ryan McElroy <rmcelroy@fb.com> [Fri, 06 Oct 2017 06:48:43 -0700] rev 34680
merge: ensure that we always commit the mergestate In future patches, we may halt the merge process based on configuration or user requests by raising exceptions. We need to ensure that the mergestate is unconditionally committed even when such an exception is raised. Depends on D930. Differential Revision: https://phab.mercurial-scm.org/D931
Fri, 06 Oct 2017 06:48:43 -0700 merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com> [Fri, 06 Oct 2017 06:48:43 -0700] rev 34679
merge: add tests to show current behavior on failed filemerges Currently, failed file merges will nevertheless force the user to continue attempting to merge all additional unresolved files. Future patches will allow the user to halt the merge process instead. This patch first introduces a test demonstrating the current bejhavior so the upcoming changes are more obvious. Differential Revision: https://phab.mercurial-scm.org/D930
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: move the _dirfoldmap to dirstatemap
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34678
dirstate: move the _dirfoldmap to dirstatemap Now that dirstatemap is the source of truth for the list of directories, let's move _dirfoldmap on to it. This pattern of moving cached variables onto the dirstate map makes it easier to invalidate them, as seen by how the cache invalidation functions are slowly shrinking to just be recreating the dirstatemap instance. Differential Revision: https://phab.mercurial-scm.org/D983
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: remove _dirs property cache
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34677
dirstate: remove _dirs property cache Now that dirs is source of truthed on the dirstatemap, let's get rid of the _dirs propertycache on the dirstate. Differential Revision: https://phab.mercurial-scm.org/D982
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: remove _filefoldmap property cache
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34676
dirstate: remove _filefoldmap property cache Now that the filefoldmap is source of truthed on the dirstatemap, let's get rid of the property cache on the dirstate. Differential Revision: https://phab.mercurial-scm.org/D981
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: move identity to dirstatemap
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34675
dirstate: move identity to dirstatemap Moving the identity function to the dirstatemap class will allow alternative dirstate implementations to replace the implementation. Differential Revision: https://phab.mercurial-scm.org/D980
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: move nonnormal and otherparent sets to dirstatemap
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34674
dirstate: move nonnormal and otherparent sets to dirstatemap As part of separating dirstate business logic from storage, let's move the nonnormal and otherparent storage to the dirstatemap class. This will allow alternative dirstate storage to persist these sets instead of recomputing them. Differential Revision: https://phab.mercurial-scm.org/D979
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: move write into dirstatemap
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34673
dirstate: move write into dirstatemap As part of separating the dirstate business logic from the dirstate storage logic, let's move the serialization code down into dirstatemap. Differential Revision: https://phab.mercurial-scm.org/D978
Thu, 05 Oct 2017 11:34:41 -0700 dirstate: move _read into dirstatemap
Durham Goode <durham@fb.com> [Thu, 05 Oct 2017 11:34:41 -0700] rev 34672
dirstate: move _read into dirstatemap As part of separating the dirstate business logic from the storage, let's move the read code into the new dirstatemap class. Differential Revision: https://phab.mercurial-scm.org/D977
Sun, 08 Oct 2017 21:29:24 +0200 configitems: register the 'templates' section
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 21:29:24 +0200] rev 34671
configitems: register the 'templates' section
Wed, 11 Oct 2017 05:01:55 +0200 configitems: register the 'paths' config section
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 05:01:55 +0200] rev 34670
configitems: register the 'paths' config section
Wed, 11 Oct 2017 02:26:09 +0200 configitems: register the 'pager.attend-.*' options
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 02:26:09 +0200] rev 34669
configitems: register the 'pager.attend-.*' options
Fri, 13 Oct 2017 16:39:06 +0200 configitems: register the 'hooks' config section
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 16:39:06 +0200] rev 34668
configitems: register the 'hooks' config section
Tue, 10 Oct 2017 10:48:47 +0200 configitems: register the 'extensions' section
Boris Feld <boris.feld@octobus.net> [Tue, 10 Oct 2017 10:48:47 +0200] rev 34667
configitems: register the 'extensions' section
Sun, 08 Oct 2017 20:39:51 +0200 configitems: register the 'defaults' section
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 20:39:51 +0200] rev 34666
configitems: register the 'defaults' section
Sun, 08 Oct 2017 21:02:02 +0200 configitems: register the 'committemplate' section
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 21:02:02 +0200] rev 34665
configitems: register the 'committemplate' section
Tue, 10 Oct 2017 10:49:28 +0200 configitems: register the 'color' section
Boris Feld <boris.feld@octobus.net> [Tue, 10 Oct 2017 10:49:28 +0200] rev 34664
configitems: register the 'color' section
Sun, 08 Oct 2017 20:26:25 +0200 configitems: register the 'alias' section
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 20:26:25 +0200] rev 34663
configitems: register the 'alias' section
Tue, 10 Oct 2017 10:49:15 +0200 configitems: allow for the registration of "generic" config item
Boris Feld <boris.feld@octobus.net> [Tue, 10 Oct 2017 10:49:15 +0200] rev 34662
configitems: allow for the registration of "generic" config item Some section can contains arbitrary keys (eg: color, alias, extensions). We add a way to register some generic config items for them. This is necessary to get all the config registered. We use a regular expression because some sub- attributes (eg: hooks.xxx.priority) can define default value on their own.
Thu, 12 Oct 2017 09:39:50 +0200 transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 12 Oct 2017 09:39:50 +0200] rev 34661
transaction-summary: show the range of new revisions upon pull/unbundle (BC) Upon pull or unbundle, we display a message with the range of new revisions fetched. This revision range could readily be used after a pull to look out what's new with 'hg log'. The algorithm takes care of filtering "obsolete" revisions that might be present in transaction's "changes" but should not be displayed to the end user.
Fri, 13 Oct 2017 21:36:10 +0900 i18n: cache translated messages per encoding
Yuya Nishihara <yuya@tcha.org> [Fri, 13 Oct 2017 21:36:10 +0900] rev 34660
i18n: cache translated messages per encoding This is a simpler workaround alternative to D958, "i18n: clean msgcache when encoding changes." The cache won't be bloated unless you run tons of commands with different --encoding options on command server, or serve many repositories of different web.encoding options on hgweb. The test was originally written by Jun Wu. Differential Revision: https://phab.mercurial-scm.org/D1053
Thu, 12 Oct 2017 22:09:11 +0900 templater: fix ifcontains() to handle type mismatch gracefully
Yuya Nishihara <yuya@tcha.org> [Thu, 12 Oct 2017 22:09:11 +0900] rev 34659
templater: fix ifcontains() to handle type mismatch gracefully This was unintentionally changed in ee0d74083a22. Since ifcontains() takes needle of any types, it shouldn't abort depending on the given container type.
Thu, 12 Oct 2017 21:56:13 +0900 help: use single quotes in ``template example``
Yuya Nishihara <yuya@tcha.org> [Thu, 12 Oct 2017 21:56:13 +0900] rev 34658
help: use single quotes in ``template example`` It was hard to read because ``""`` was rendered as """".
Thu, 12 Oct 2017 21:48:02 +0900 help: hide template keywords of obsolescence as they are still experimental
Yuya Nishihara <yuya@tcha.org> [Thu, 12 Oct 2017 21:48:02 +0900] rev 34657
help: hide template keywords of obsolescence as they are still experimental
Thu, 12 Oct 2017 21:42:42 +0900 help: fix formatting of template keywords
Yuya Nishihara <yuya@tcha.org> [Thu, 12 Oct 2017 21:42:42 +0900] rev 34656
help: fix formatting of template keywords Our minirst formatter can't render multi-paragraph definition lists well. Also added periods where appropriate.
Thu, 12 Oct 2017 22:21:14 +0900 chg: remove outdated rule to start test server
Yuya Nishihara <yuya@tcha.org> [Thu, 12 Oct 2017 22:21:14 +0900] rev 34655
chg: remove outdated rule to start test server This rule is no longer useful because chg daemon may be killed and respawned per config/environment hash. We can't reliably run a daemon in foreground.
Fri, 13 Oct 2017 00:22:54 +0900 configitems: drop redundant default of web.allow<archtype>
Yuya Nishihara <yuya@tcha.org> [Fri, 13 Oct 2017 00:22:54 +0900] rev 34654
configitems: drop redundant default of web.allow<archtype> Otherwise develwarn would be sent to stderr. I've added blackbox logging to capture warnings.
Fri, 13 Oct 2017 00:14:28 +0900 configitems: correct default values of web.allow<archtype> and web.hidden
Yuya Nishihara <yuya@tcha.org> [Fri, 13 Oct 2017 00:14:28 +0900] rev 34653
configitems: correct default values of web.allow<archtype> and web.hidden The default of ui.configbool() is False unless explicitly specified.
Fri, 13 Oct 2017 22:38:24 +0900 bdiff: include compat.h in header to define ssize_t
Yuya Nishihara <yuya@tcha.org> [Fri, 13 Oct 2017 22:38:24 +0900] rev 34652
bdiff: include compat.h in header to define ssize_t Before ff4c9c6263de, compat.h was included first so it happened to work. But we shouldn't rely on the include order.
Sat, 30 Sep 2017 22:37:20 +0100 test: add an extra case for obsolescence distributed case
Boris Feld <boris.feld@octobus.net> [Sat, 30 Sep 2017 22:37:20 +0100] rev 34651
test: add an extra case for obsolescence distributed case This changeset introduces a new documented test case for a distributed obsolescence scenario. The scenario involves a simple case where some obsolescence markers are retrieved before the changeset they affect. See the test case documentation for details. We also test variants where the changesets are added from a bundle.
Fri, 29 Sep 2017 19:59:15 +0100 test: add a test file dedicated to an important distributed case
Boris Feld <boris.feld@octobus.net> [Fri, 29 Sep 2017 19:59:15 +0100] rev 34650
test: add a test file dedicated to an important distributed case This test file introduces documented test case for obsolescence markers usage that are important to distributed workflow cases. In the distributed case, new changesets, markers, and phases can be added in orders that would not happen during the local only usage. Documenting these scenarios and test them is important as we make progress with various obsolescence aspects.
Tue, 10 Oct 2017 23:19:35 +0530 repoview: remove incorrect documentation of the function
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 10 Oct 2017 23:19:35 +0530] rev 34649
repoview: remove incorrect documentation of the function In repoview.py, computeunserved() and computemutable() functions had the same documentation. The documentation of computemutable() is wrong. I was unable to write documentation for the function but it's better to not having the documentation than having it wrong. Differential Revision: https://phab.mercurial-scm.org/D1016
Thu, 12 Oct 2017 09:34:58 -0700 check-code: suggest pycompat.is(posix|windows|darwin)
Jun Wu <quark@fb.com> [Thu, 12 Oct 2017 09:34:58 -0700] rev 34648
check-code: suggest pycompat.is(posix|windows|darwin) Differential Revision: https://phab.mercurial-scm.org/D1037
Thu, 12 Oct 2017 23:34:34 -0700 codemod: use pycompat.isdarwin
Jun Wu <quark@fb.com> [Thu, 12 Oct 2017 23:34:34 -0700] rev 34647
codemod: use pycompat.isdarwin This is done by: sed -i "s/pycompat\.sysplatform == 'darwin'/pycompat.isdarwin/" **/*.py Plus a manual change to `sslutil.py` which involves indentation change that cannot be done by `sed`. Differential Revision: https://phab.mercurial-scm.org/D1035
Thu, 12 Oct 2017 09:04:22 -0700 codemod: use pycompat.isposix
Jun Wu <quark@fb.com> [Thu, 12 Oct 2017 09:04:22 -0700] rev 34646
codemod: use pycompat.isposix This is done by: sed -i "s/pycompat\.osname == 'posix'/pycompat.isposix/" **/*.py Differential Revision: https://phab.mercurial-scm.org/D1036
Thu, 12 Oct 2017 23:30:46 -0700 codemod: use pycompat.iswindows
Jun Wu <quark@fb.com> [Thu, 12 Oct 2017 23:30:46 -0700] rev 34645
codemod: use pycompat.iswindows This is done by: sed -i "s/pycompat\.osname == 'nt'/pycompat.iswindows/" **/*.py sed -i "s/pycompat\.osname != 'nt'/not pycompat.iswindows/" **/*.py sed -i 's/pycompat.osname == "nt"/pycompat.iswindows/' **/*.py Differential Revision: https://phab.mercurial-scm.org/D1034
Thu, 12 Oct 2017 19:20:04 -0700 pycompat: define operating system constants
Jun Wu <quark@fb.com> [Thu, 12 Oct 2017 19:20:04 -0700] rev 34644
pycompat: define operating system constants As suggested by Ryan in D1019, it's cleaner if we use defined constants instead of `osname == 'nt'` everywhere. Differential Revision: https://phab.mercurial-scm.org/D1033
(0) -30000 -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 +3000 +10000 tip