Wed, 23 May 2018 02:46:20 +0530 evolve: make `--abort` strip the temporary revs created during resolution
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:46:20 +0530] rev 3757
evolve: make `--abort` strip the temporary revs created during resolution During divergence resolution, `hg evolve` created temporary relocation commits which needs to be stripped off during `hg evolve --abort` to get back to the same state where we were. Previous patch added a new list temprevs to be stored in evolvestate. This patch starts storing the temp relocated node created during phase-divergence resolution in evolvestate and make sure we consider stripping it too while `hg evolve --abort`. The test changes demonstrate the fix. Now we are sucessfully aborting a phase-divergence resolution.
Wed, 23 May 2018 02:43:23 +0530 evolve: store a list of temprevs in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:43:23 +0530] rev 3756
evolve: store a list of temprevs in evolvestate There are temporary revisions which are created as a part of divergence resolution which needs to be stripped off if user runs `hg evolve --abort`. We need to save the nodeids of those temporary revisions in the evolvestate. The temprevs list will help in the above mentioned use cases.
Wed, 23 May 2018 02:36:14 +0530 evolve: check for None before adding in set of revisions to strip
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:36:14 +0530] rev 3755
evolve: check for None before adding in set of revisions to strip After previous patch, replacements can contain None. Let's make sure we don't add None to the revisions to strip during `hg evolve --abort` The test changes demonstrate the usefulness of this and the previous patch. Now abort is working and public changesets are not a problem.
Wed, 23 May 2018 02:33:14 +0530 evolve: return the new replacement node to be stored in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:33:14 +0530] rev 3754
evolve: return the new replacement node to be stored in evolvestate While resolving phase-divergence, we can end up obsoleting the phase-divergent commit in favor of the public commit. Before this patch we return the node of public commit to store as a replacement of the phase-divergent commit. The above will not cause any problem till the time we use `hg evolve --abort` on an interrupted evolve which tries to strip the replacement nodes because it thinks that the replacements nodes are the ones which are created during the resolution and are new. Since we will be stripping a public node, `evolve --abort` will error out saying cannot strip public changeset, unable to abort evolve which is bad. We should make sure, replacements should only consist of new nodes formed. If the instablity is resolved by obsoleting in favour of old changeset, we should not store the old changeset in replacements in evolvestate.
Wed, 23 May 2018 02:39:38 +0530 evolve: don't make values of replacements dict lists
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:39:38 +0530] rev 3753
evolve: don't make values of replacements dict lists There was inconsistency in code base related to the values stored in replacements dict in evolvestate. At some places we store a list, at some places we just store the nodeid. Let's make sure we store only the nodeid, not a list. If there are cases, when there are multiple replacements or changesets created during resolution, later patch will introduce storing temprevs in evolvestate which should be used.
Wed, 23 May 2018 02:41:08 +0530 tests: add a test file `--abort` flag while resolving phase-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:41:08 +0530] rev 3752
tests: add a test file `--abort` flag while resolving phase-divergence This patch adds a new test file test-evolve-abort-phasediv.t which will contain tests for `hg evolve --abort` flag while resolving phase-divergence. There is a case in this test which does not work right which will be fixed in upcoming patches.
Tue, 15 May 2018 22:17:27 -0700 evolve: pass revisions as strings to commands.*() stable
Martin von Zweigbergk <martinvonz@google.com> [Tue, 15 May 2018 22:17:27 -0700] rev 3751
evolve: pass revisions as strings to commands.*() It's usually fine to pass integer revisions to e.g. commands.update(), but when directaccess is enabled, it attempts to parse it a revset, which fails.
Wed, 23 May 2018 01:27:13 +0530 tests: rename test-evolve-abort.t to test-evolve-abort-orphan.t
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 01:27:13 +0530] rev 3750
tests: rename test-evolve-abort.t to test-evolve-abort-orphan.t We renamed the test file because it contains all the cases related to orphan resolution. Now we care about divergence resolution too and hence we must have separate specific test files for each type.
Mon, 21 May 2018 16:56:52 +0200 branching: merge with branch for stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 21 May 2018 16:56:52 +0200] rev 3749
branching: merge with branch for stable
Mon, 21 May 2018 16:25:29 +0200 compat: update obshashrange test output
Boris Feld <boris.feld@octobus.net> [Mon, 21 May 2018 16:25:29 +0200] rev 3748
compat: update obshashrange test output Mercurial core bfe8ef6e370e seems to have changed the order of some messages. Simply accept the change in the test file. CORE-TEST-OUTPUT-UPDATE: bfe8ef6e370e
Mon, 21 May 2018 14:56:51 +0200 test: update to new outputs
Boris Feld <boris.feld@octobus.net> [Mon, 21 May 2018 14:56:51 +0200] rev 3747
test: update to new outputs Mercurial core ea63a2004d09 update the hidden changeset warning during update after the effective update. CORE-TEST-OUTPUT-UPDATE: ea63a2004d09
Mon, 21 May 2018 13:07:49 +0200 compat: fix obslog with Mercurial 4.6+
Boris Feld <boris.feld@octobus.net> [Mon, 21 May 2018 13:07:49 +0200] rev 3746
compat: fix obslog with Mercurial 4.6+ Mercurial core 3fe1c9263024 removed the diffopts attribute on changesetprinter. Backport consuming diffopts in the constructor for old versions of changesetprinter and update the non-graph code to extract the patch option and pass it directly.
Sat, 19 May 2018 18:26:36 +0530 debian: add line to clean-docs target to delete additional docs file stable
Faheem Mitha <faheem@faheem.info> [Sat, 19 May 2018 18:26:36 +0530] rev 3745
debian: add line to clean-docs target to delete additional docs file
Mon, 14 May 2018 15:25:38 -0700 amend: use context manager for locks (issue5887) stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 14 May 2018 15:25:38 -0700] rev 3744
amend: use context manager for locks (issue5887)
(0) -3000 -1000 -300 -100 -14 +14 +100 +300 +1000 tip