Anton Shestakov <av6@dwimlabs.net> [Sun, 06 Feb 2022 19:14:51 +0300] rev 48717
notify: don't produce errors if a revision is not found
Notify extension has a way to only subscribe to a specific revset, such as
"branch(foo)". Before this patch, when there was no branch with that name, it
would produce a traceback saying "unknown revision: foo". With this patch it
would no longer do that, and instead it'll assume there are no revisions that
match this revset. I think this patch is an improvement in general, but there's
a reason I'm sending it now.
test-notify.t has a test case where it obsoletes the only revision on a branch,
and previously that wouldn't produce any complications, because head
computation wasn't obsolescence-aware. Now if the only revision on a branch is
obsolete, repo should not see that branch at all.
That branch will still be present in branchcache (with an empty list of
revisions) until the next patch.
Differential Revision: https://phab.mercurial-scm.org/D12134
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 03 Feb 2022 18:14:11 +0100] rev 48716
narrow: allow merging non-conflicting change outside of the narrow spec
We use the mergestate to carry information about these merge action and
reprocess them at commit time to apply the necessary update.
The dirstate itself is never affected and remains "pure", with content only in
the narrow-spec. This file involved in such merge are therefor not listed in `hg
status`.
The current testing is based on a modification of the previous testing, that
refused to do such merges. As a result it is a bit simple and more extensive
code and testing testing will have to be introduced later. I am planning to do
this extra testing, soon.
In addition, this only works for flat manifest. Support for tree manifest will
need more work. I am not currently planning to do this work.
Differential Revision: https://phab.mercurial-scm.org/D12119
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 30 Jan 2022 06:01:42 +0100] rev 48715
merge-actions: add some information about the "changes" the action do
This will be useful when processing merges action outside of the narrow-spec.
"support" outside of narrow file on commit
Differential Revision: https://phab.mercurial-scm.org/D12118
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 29 Jan 2022 06:21:32 +0100] rev 48714
merge-actions: have an attribute for narrow safetiness
This allow the core doing narrow filtering to process action without
explicitely listing all possible actions. This is important to make the actions
system more flexible in the future.
Differential Revision: https://phab.mercurial-scm.org/D12117
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 28 Jan 2022 15:19:58 +0100] rev 48713
merge-actions: add an explicite "no_op" attribute
This make the MergeAction smarter and able to describe themself. This is useful
to help introducing more MergeAction object that better the complexity of the
situation.
Differential Revision: https://phab.mercurial-scm.org/D12116
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 28 Jan 2022 19:46:37 +0100] rev 48712
merge-actions: gather all created action into a set
This is mostly to demonstrate we can do this before we start adding more
specialized set.
Differential Revision: https://phab.mercurial-scm.org/D12115
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 28 Jan 2022 17:08:30 +0100] rev 48711
merge-actions: make merge action a full featured object
This open the way for having "smarter" value as action, making the usage code
simpler and more flexible.
We have to explicitly use __bytes__ call in a couple of place because Python2…
Differential Revision: https://phab.mercurial-scm.org/D12114
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 28 Jan 2022 16:25:41 +0100] rev 48710
convert: use the merge action constant
The constant exists, lets use them. Otherwise we cannot make these constant more
powerful.
Differential Revision: https://phab.mercurial-scm.org/D12113
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 28 Jan 2022 16:11:42 +0100] rev 48709
large-file: use the merge action constant
The constant exists, lets use them. Otherwise we cannot make these constant more
powerful.
Differential Revision: https://phab.mercurial-scm.org/D12112
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 28 Jan 2022 16:41:45 +0100] rev 48708
merge: stop using merge action for pathconflict option
This is not the b'r' you are looking for.
Differential Revision: https://phab.mercurial-scm.org/D12111