Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 10 Apr 2019 15:26:41 +0200] rev 4482
evolve: add test which demonstrate issue6113
This patch introducing a new test file which contains the test for issue6113
which is `test-evolve-content-divergent-distributed.t`. This test file
is supposed to contain tests for distributed workflows.
Next patch will fix the bug.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 14:32:00 +0200] rev 4481
test: consolidate the content-divergent test cases
This commit move most of the content divergent related test in dedicated and
thematic test files.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 09 Apr 2019 21:16:49 +0200] rev 4480
changelog: mention the fix to issue6057
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 09 Apr 2019 20:45:36 +0200] rev 4479
extensions: avoid enabling evolve for unrelated repositories (issue6057)
The support for the `experimental.evolve` config have been there forever. So we
can stop using the global variable. This help avoiding evolve to enable itself
of repository that did not explicitly activated it. For example, this is useful
for hgwebdir.
Before this change, evolution feature had to be explicitly disabled or enabled
in every single repository.
Anton Shestakov <av6@dwimlabs.net> [Sat, 06 Apr 2019 15:50:15 +0200] rev 4478
stack: improve set combination logic
Anton Shestakov <av6@dwimlabs.net> [Sat, 06 Apr 2019 15:49:22 +0200] rev 4477
stack: fix phasecache._phasesets check logic
When _phasesets is not None, it's a list, and it contains set()s of revisions
in a specific phase, starting from public, draft, secret and so on. But since
repos are supposed to have the majority of revisions in public phase, the first
element of this list is not a (potentially huge) set, but None.
Previously this code tried to check if there's any element that is None, and
was always finding None at index 0, so the short path was executed every time
and the rest of the function was never used.
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 02 Apr 2019 12:41:57 +0530] rev 4476
evolve: remove todo markers from a test which has been fixed
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Apr 2019 22:28:07 +0200] rev 4475
next: clarify tests related to `commands.update.check` test
This clarify the test and help understand the next changeset.
Anton Shestakov <av6@dwimlabs.net> [Wed, 03 Apr 2019 17:20:34 +0800] rev 4474
stack: simplify phasecache checks in _stackcandidates()
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Apr 2019 17:45:59 +0200] rev 4473
evolve: fix divergence resolution when not merging a descendant
In divergence resolution, when we merge other cset with divergent one
we pass a `mergeancestor` arg to merge.update() and before this patch
we were passing `mergeancestor` as True in every case.
But it should be True only when we are merging a descendant onto an
ancestor.
When mergeancestor is True it does two things:
1) allows the merge if the destination is the same as the parent
of the ctx (so we can use graft to copy commits)
2) informs update that the incoming changes are newer than the
destination so it doesn't prompt about "remote changed foo
which local deleted".
So this patch change it to pass `mergeancestor` as True only when
it is required.
And changes in test file shows that it wasn't prompting either in
those cases when it should (acc. to 2nd point)
Test written by Pierre-Yves David, based the one updated in 5dbaabfe2c59.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 29 Mar 2019 15:15:07 +0100] rev 4472
test: fix a phase divergence test case to actually not contains conflict
The previous test case had a conflict, but that conflict is currently not raise
by phase divergence resolution. This is an independent bug to solve.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Apr 2019 16:31:45 +0200] rev 4471
tests: use current instability names everywhere
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 04 Apr 2019 12:24:28 +0200] rev 4470
test: apply unstability resolution to `test-unstability-resolution-result.t`
The test cases in this file probably deserved to be dispatched in other more
thematic test file.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 04 Apr 2019 12:06:33 +0200] rev 4469
test: rename and clarify content of test-unstable-content-divergent.t
The troubles → instabilities renaming was not applied here.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 04 Apr 2019 11:53:05 +0200] rev 4468
test: rename and clarify content of test-unstable-orphan.t
The troubles → instabilities renaming was not applied here.
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 03 Apr 2019 01:00:33 +0530] rev 4467
evolve: refactor the code which swap two nodes (in divergence resolution)
I see that we are using the code to swap the "divergent" and "other" node;
and updating the evolvestate accordingly at many places in divergence
resolution. This patch extract that code to a function.
Although I don't have strong opinion on this patch. It's a volunteered
patch to remove some redundancy.
Sushil khanchi <sushilkhanchi97@gmail.com> [Tue, 02 Apr 2019 18:01:43 +0530] rev 4466
evolve: remove tmpctx arg from _resolvephasedivergent()
Before this patch, in _resolvephasedivergent() function we were passing
an optional argument "tmpctx" which was used to store a rebased version
of bumped if required. But for sake of simplicity we can achieve the
same results even without passing this "tmpctx" into that function.
No changes in test files demonstrate that this patch don't break
anything.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 29 Mar 2019 11:48:36 +0100] rev 4465
doc: clarify _resolvephasedivergent role and constraint
Small documentation patch before larger changes.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 02 Apr 2019 20:32:15 +0200] rev 4464
branching: merge with stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 21:39:10 +0800] rev 4463
evolve: unindent some lines caught by flake8
The message was: "E117 over-indented".
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 21:56:29 +0800] rev 4462
obsexchange: avoid importing io/StringIO module with a different name
Since we're not interested in the whole module, let's shorten the imports and
aviod the lint warnings.
Otherwise pep8-naming complains:
- import io as StringIO: N812 lowercase imported as non lowercase
- import StringIO as io: N813 camelcase imported as lowercase
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 21:56:05 +0800] rev 4461
evolve: remove unused StringIO import
Martin von Zweigbergk <martinvonz@google.com> [Fri, 22 Mar 2019 09:45:07 -0700] rev 4460
compat: add support for new arg name in memfilectx.__init__
This makes us compatible with 550a172a603b (memctx: rename constructor
argument "copied" to "copysource" (API), 2019-03-19).
Martijn Pieters <mj@octobus.net> [Wed, 21 Nov 2018 12:00:46 +0000] rev 4459
topic: make topics compatible with branchmap refactor
See https://phab.mercurial-scm.org/D5290
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 29 Mar 2019 11:19:24 +0100] rev 4458
evolve: compat patch to fix broken evolve obsdiscovery
This patch preserve the compatibility for the changes upstreamed
by e5ece0f46b40 in hg-committed.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 28 Mar 2019 15:05:57 -0700] rev 4457
tests: add obslog output to some tests for divergence resolution
As suggested by Boris Feld.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 28 Mar 2019 14:54:46 -0700] rev 4456
tests: add tests for divergence resolution with split+amend
As suggested by Boris Feld.
G: changed tests/test-evolve-phase-divergence.t
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Mar 2019 12:53:50 +0100] rev 4455
test: use 'split' instead of 'splitted' in the tests
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Mar 2019 12:30:10 +0100] rev 4454
evolve: drop the "computing new diff message" for phase-divergence
Future code update will remove this message, dropping it early clarify the
future diff.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 20 Mar 2019 09:19:02 -0700] rev 4453
evolve: clarify output when phase-divergence resolution results in no change
I found it pretty confusing that it said "committed as abcd1234" when
no commit was created.