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
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
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
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
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
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
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
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
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
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
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
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
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 21:29:24 +0200] rev 34671
configitems: register the 'templates' section
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 05:01:55 +0200] rev 34670
configitems: register the 'paths' config section
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 02:26:09 +0200] rev 34669
configitems: register the 'pager.attend-.*' options
Boris Feld <boris.feld@octobus.net> [Fri, 13 Oct 2017 16:39:06 +0200] rev 34668
configitems: register the 'hooks' config section
Boris Feld <boris.feld@octobus.net> [Tue, 10 Oct 2017 10:48:47 +0200] rev 34667
configitems: register the 'extensions' section
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 20:39:51 +0200] rev 34666
configitems: register the 'defaults' section
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 21:02:02 +0200] rev 34665
configitems: register the 'committemplate' section
Boris Feld <boris.feld@octobus.net> [Tue, 10 Oct 2017 10:49:28 +0200] rev 34664
configitems: register the 'color' section
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 20:26:25 +0200] rev 34663
configitems: register the 'alias' section
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.
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.
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
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.
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 """".
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
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.
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.
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.