Matt Harbison <matt_harbison@yahoo.com> [Tue, 02 Apr 2019 22:42:01 -0400] rev 4506
uncommit: abort if an explicitly given file cannot be uncommitted (BC)
This corresponds to f4147ca63d39 in the core uncommit extension.
Anton Shestakov <av6@dwimlabs.net> [Thu, 11 Apr 2019 17:45:36 +0800] rev 4505
evolve: store --update flag state in evolvestate file
Part of 9c522bdfc846 that wasn't yet accepted.
Anton Shestakov <av6@dwimlabs.net> [Fri, 12 Apr 2019 02:55:34 +0800] rev 4504
state: implement cmdstate.__contains__()
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Apr 2019 21:19:01 +0200] rev 4503
changelog: mention Martin work on phase-divergence
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 11 Apr 2019 21:09:31 +0200] rev 4502
test: revert update from 5.0 record logic
This revert the test changes from 90f94231db5d.
Anton Shestakov <av6@dwimlabs.net> [Thu, 11 Apr 2019 17:42:48 +0800] rev 4501
tests: remove note about already implemented --confirm with --continue
4544067b831b made --confirm work with --continue, but didn't update/remove this
comment.
Martin von Zweigbergk <martinvonz@google.com> [Mon, 11 Mar 2019 23:57:12 -0700] rev 4500
evolve: use merge.update() for resolving phase divergence
Iterating over the manifest when tree manifests and narrowness is in
play produces entries for paths outside the narrowspec that represent
trees. For example, if the tests/ directory of the hg repo was not in
the narrowspec (and the hg repo was using tree manifests, which it
doesn't), then there would be a "tests/" entry in the manifest. The
merge code deals with some of these cases. For example, it's valid to
do a merge if only the local side changes directories outside the
narrowspec. That allows rebasing a local commit onto a public commit
that had changes to the excluded paths to work.
However, _resolvephasedivergent() was iterating of the manifests,
which resulted in crashes for some of our users when they tried to
resolve phase-divergent commits (actually content-divergent commits
that became phase-divergent after the intermediate rebase). We can fix
that by relying on merge.update(), since that already handles this
case.
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 10 Apr 2019 23:19:29 +0530] rev 4499
evolve: compat patch for recordfilter change in mercurial
This patch fix the broken things because of upstream changes in
recordfilter() which is being used to select the hunks interactively.
It fixes the test-uncommit-interactive.t by adding the compat layer.
But for test-split.t I had to fix the tests manually. To make it more
clear: splitting broke at evolve side because after that upstream change
now interactive mode doesn't prompt "examine change to foo" if foo is
mentioned explicitly using cli; and directly jumps to hunks selection
prompt (well, only if there is any changes at hunks level)
And the main issue is when file which is explicitly mentioned has no changes
at hunk level (for e.g copy, rename, mode change, empty new file), because in
that case you don't have any control on selection of that file and it would
be included automatically in first cycle of interactive selection.
And this "no changes at hunks level" was the reason for test-split.t breakage
as now it didn't prompt for those files which are passed on cli.
To fix this I have included some content in those files to make sure that
tests still demonstrate the same behaviour as they were doing before breakage.
Also, I replaced some "n" with "s" as it make more sense to skip all the
changes to that file in one go instead of hitting "n" multiple times
(if there were multiple hunks)
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 21:03:56 +0200] rev 4498
test: add file cancelation scenario for phase-divergence
This improve the test coverage for corner cases.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 20:43:42 +0200] rev 4497
test: introduce a more complete test for phase-divergence
The test the preservation of "change" cancellation in multiple situation.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 20:24:55 +0200] rev 4496
test: rename test about content divergent meta data
The test now use a name in line with the other content divergence test cases.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 20:18:14 +0200] rev 4495
test: cleanup title and doc phase-divergent cases
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 20:03:07 +0200] rev 4494
test: remove remaining duplicated file
This file should have been removed in d02a7c8cdee5.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 17:57:11 +0200] rev 4493
test: add test for content-divergence with file removal
File addition/removal tends to introduce corner case.
The actual test content comes from a Martin von Zweigbergk changesets.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 17:29:40 +0200] rev 4492
test: clarify changeset concent in the first content-divergence test
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 16:59:58 +0200] rev 4491
branching: merge with stable
merge with new changeset on stable.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 16:59:28 +0200] rev 4490
branching: merge with test consolidation
Conflict were simple once isolated.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 16:40:58 +0200] rev 4489
branching: merge with stable
This merge happens before the large test consolidation on stable.
Joerg Sonnenberger <joerg@bec.de> [Sun, 07 Apr 2019 20:00:16 +0200] rev 4488
compat: drop getcachevfs, repo.cachevfs is supported in hg 4.4
Joerg Sonnenberger <joerg@bec.de> [Sun, 07 Apr 2019 19:53:53 +0200] rev 4487
evolve: when using evolve, cache files belong into the master repo
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 16:11:59 +0200] rev 4486
changelog: mention issue6089 fix
Manuel Jacob <me@manueljacob.de> [Sat, 23 Feb 2019 15:17:55 +0100] rev 4485
pick: update working dir branch (issue6089)
Previously the working copy was left in an "inconsistent" state.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 15:47:28 +0200] rev 4484
tests: rename test-grab to test-pick
This match the new command name.
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 10 Apr 2019 15:37:29 +0200] rev 4483
evolve: make sure div resolution don't replace the initial author (issue6113)
Before this patch, divergence resolution logic taking the current user who
is running the resolution command as the author of commit that will
be created after merging the two divergent csets.
This patch make sure that we preserve the initial author.
Changes in test file reflect the fixed behaviour.
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.