Thu, 11 Apr 2019 17:42:48 +0800 tests: remove note about already implemented --confirm with --continue
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.
Mon, 11 Mar 2019 23:57:12 -0700 evolve: use merge.update() for resolving phase divergence
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.
Wed, 10 Apr 2019 23:19:29 +0530 evolve: compat patch for recordfilter change in mercurial
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)
Wed, 10 Apr 2019 21:03:56 +0200 test: add file cancelation scenario for phase-divergence
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.
Wed, 10 Apr 2019 20:43:42 +0200 test: introduce a more complete test for phase-divergence
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.
Wed, 10 Apr 2019 20:24:55 +0200 test: rename test about content divergent meta data
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.
Wed, 10 Apr 2019 20:18:14 +0200 test: cleanup title and doc phase-divergent 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
Wed, 10 Apr 2019 20:03:07 +0200 test: remove remaining duplicated file
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.
Wed, 10 Apr 2019 17:57:11 +0200 test: add test for content-divergence with file removal
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.
Wed, 10 Apr 2019 17:29:40 +0200 test: clarify changeset concent in the first content-divergence test
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
Wed, 10 Apr 2019 16:59:58 +0200 branching: merge with stable
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.
Wed, 10 Apr 2019 16:59:28 +0200 branching: merge with test consolidation
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.
Wed, 10 Apr 2019 16:40:58 +0200 branching: merge with stable
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.
Sun, 07 Apr 2019 20:00:16 +0200 compat: drop getcachevfs, repo.cachevfs is supported in hg 4.4
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
Sun, 07 Apr 2019 19:53:53 +0200 evolve: when using evolve, cache files belong into the master repo
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
Wed, 10 Apr 2019 16:11:59 +0200 changelog: mention issue6089 fix stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Apr 2019 16:11:59 +0200] rev 4486
changelog: mention issue6089 fix
Sat, 23 Feb 2019 15:17:55 +0100 pick: update working dir branch (issue6089) stable
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.
Wed, 10 Apr 2019 15:47:28 +0200 tests: rename test-grab to test-pick stable
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.
Wed, 10 Apr 2019 15:37:29 +0200 evolve: make sure div resolution don't replace the initial author (issue6113) stable
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.
Wed, 10 Apr 2019 15:26:41 +0200 evolve: add test which demonstrate issue6113 stable
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.
Wed, 10 Apr 2019 14:32:00 +0200 test: consolidate the content-divergent test cases stable
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.
Tue, 09 Apr 2019 21:16:49 +0200 changelog: mention the fix to issue6057 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 09 Apr 2019 21:16:49 +0200] rev 4480
changelog: mention the fix to issue6057
Tue, 09 Apr 2019 20:45:36 +0200 extensions: avoid enabling evolve for unrelated repositories (issue6057) stable
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.
Sat, 06 Apr 2019 15:50:15 +0200 stack: improve set combination logic
Anton Shestakov <av6@dwimlabs.net> [Sat, 06 Apr 2019 15:50:15 +0200] rev 4478
stack: improve set combination logic
Sat, 06 Apr 2019 15:49:22 +0200 stack: fix phasecache._phasesets check 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.
Tue, 02 Apr 2019 12:41:57 +0530 evolve: remove todo markers from a test which has been fixed
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
Fri, 05 Apr 2019 22:28:07 +0200 next: clarify tests related to `commands.update.check` test
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.
Wed, 03 Apr 2019 17:20:34 +0800 stack: simplify phasecache checks in _stackcandidates()
Anton Shestakov <av6@dwimlabs.net> [Wed, 03 Apr 2019 17:20:34 +0800] rev 4474
stack: simplify phasecache checks in _stackcandidates()
Fri, 05 Apr 2019 17:45:59 +0200 evolve: fix divergence resolution when not merging a descendant
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.
Fri, 29 Mar 2019 15:15:07 +0100 test: fix a phase divergence test case to actually not contains conflict
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.
Fri, 05 Apr 2019 16:31:45 +0200 tests: use current instability names everywhere
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Apr 2019 16:31:45 +0200] rev 4471
tests: use current instability names everywhere
Thu, 04 Apr 2019 12:24:28 +0200 test: apply unstability resolution to `test-unstability-resolution-result.t`
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.
Thu, 04 Apr 2019 12:06:33 +0200 test: rename and clarify content of test-unstable-content-divergent.t
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.
Thu, 04 Apr 2019 11:53:05 +0200 test: rename and clarify content of test-unstable-orphan.t
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.
Wed, 03 Apr 2019 01:00:33 +0530 evolve: refactor the code which swap two nodes (in divergence resolution)
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.
Tue, 02 Apr 2019 18:01:43 +0530 evolve: remove tmpctx arg from _resolvephasedivergent()
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.
Fri, 29 Mar 2019 11:48:36 +0100 doc: clarify _resolvephasedivergent role and constraint
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.
Tue, 02 Apr 2019 20:32:15 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 02 Apr 2019 20:32:15 +0200] rev 4464
branching: merge with stable
Wed, 13 Feb 2019 21:39:10 +0800 evolve: unindent some lines caught by flake8 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".
Wed, 13 Feb 2019 21:56:29 +0800 obsexchange: avoid importing io/StringIO module with a different name stable
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
Wed, 13 Feb 2019 21:56:05 +0800 evolve: remove unused StringIO import stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 13 Feb 2019 21:56:05 +0800] rev 4461
evolve: remove unused StringIO import
Fri, 22 Mar 2019 09:45:07 -0700 compat: add support for new arg name in memfilectx.__init__ stable
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).
Wed, 21 Nov 2018 12:00:46 +0000 topic: make topics compatible with branchmap refactor stable
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
Fri, 29 Mar 2019 11:19:24 +0100 evolve: compat patch to fix broken evolve obsdiscovery
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.
Thu, 28 Mar 2019 15:05:57 -0700 tests: add obslog output to some tests for divergence resolution
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.
Thu, 28 Mar 2019 14:54:46 -0700 tests: add tests for divergence resolution with split+amend
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
Tue, 26 Mar 2019 12:53:50 +0100 test: use 'split' instead of 'splitted' in the tests
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
Tue, 26 Mar 2019 12:30:10 +0100 evolve: drop the "computing new diff message" for phase-divergence
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.
Wed, 20 Mar 2019 09:19:02 -0700 evolve: clarify output when phase-divergence resolution results in no change
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.
Tue, 12 Mar 2019 09:44:05 -0700 tests: reduce dependence on previous tests for setup
Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Mar 2019 09:44:05 -0700] rev 4452
tests: reduce dependence on previous tests for setup The tests in test-evolve-phase-divergence.t built on each other for no good reason, which makes the tests hard to modify and hard to read. This patch cleans up some of them. We should clean up the rest too, but the rest won't matter for my next patch, so I haven't bothered.
Thu, 28 Mar 2019 12:37:55 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Mar 2019 12:37:55 +0100] rev 4451
branching: merge with stable
Wed, 27 Mar 2019 20:52:30 +0800 topicmap: add compatibility for branchcache that now uses self._entries stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 27 Mar 2019 20:52:30 +0800] rev 4450
topicmap: add compatibility for branchcache that now uses self._entries
Wed, 27 Mar 2019 14:29:22 +0530 evolve: fix over-idented block stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 27 Mar 2019 14:29:22 +0530] rev 4449
evolve: fix over-idented block
Tue, 12 Mar 2019 09:48:05 -0700 tests: create "private" repository in already-updated state
Martin von Zweigbergk <martinvonz@google.com> [Tue, 12 Mar 2019 09:48:05 -0700] rev 4448
tests: create "private" repository in already-updated state I'm going to add more copies of the repo and it's easier to work with the repo if it's already been updated.
Tue, 26 Mar 2019 11:23:09 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Mar 2019 11:23:09 +0100] rev 4447
branching: merge with stable
Mon, 25 Mar 2019 15:45:11 -0700 touch: use action "touch", not "<function touch at ...>", in precheck stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 25 Mar 2019 15:45:11 -0700] rev 4446
touch: use action "touch", not "<function touch at ...>", in precheck I just got this message: abort: cannot <function touch at 0x7fde174b69b0> public changesets: f177c51ae98f It has been this way since 1b7b9acda2a9 (touch: use precheck to validate revision, 2017-07-23).
Mon, 25 Mar 2019 15:44:44 -0700 prune: use action "prune", not "touch", in precheck stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 25 Mar 2019 15:44:44 -0700] rev 4445
prune: use action "prune", not "touch", in precheck We have been using "touch" since 06ee4ec88190 (prune: use precheck to validate revision, 2017-07-23). That commit modified the tests, so it kind seemed intentional, but I suspect it was still just an oversight.
Sun, 24 Mar 2019 21:30:12 +0530 evolve: test a common case of public divergence
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 24 Mar 2019 21:30:12 +0530] rev 4444
evolve: test a common case of public divergence evolve: in pubdiv, handle the case when public branch is behind the mutable In public divergence, when public branch is behind the mutable one the behaviour that this patch added is that we relocate the draft one to public side. This should be fine in most case, but might be an issue in some other (eg, when the draft side of the divergence is rebase away from ancestors it relies on.) Test written by Pierre-Yves David <pierre-yves.david@octobus.net>
Sun, 24 Mar 2019 21:29:44 +0530 evolve: add condition in case of pubdiv to not swap the two div csets
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 24 Mar 2019 21:29:44 +0530] rev 4443
evolve: add condition in case of pubdiv to not swap the two div csets In public divergence, we have pinned the public cset to the local side when merge is performed. And in divergence resolution implementation divergent cset is the one who is kept at the local side, so to say this in one line: we have pinned public cset to the divergent side. However, in some cases we need to swap the "divergent" and "other" but we can't swap them in case of public divergence as thought would cause an error because of not being able to relocate public cset.
Sat, 23 Mar 2019 02:10:31 +0530 evolve: add logic to handle a particular case in divergence resolution
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 23 Mar 2019 02:10:31 +0530] rev 4442
evolve: add logic to handle a particular case in divergence resolution Case is: In content divergence, to check if the two csets are on different parent or same parent what we do is find gca of the two csets and then compare it with the singlesuccessors of two csets's parents. Now, if gca is same as singlesuccessors of both the csets then we conclude that both are on the same parent which is not totally correct as it is possible that both the parents of two csets are obsolete with a single successor. This patch adds the logic to cover the above metioned case correctly, deciding the part when we need to relocate a cset to other side while resolving the stack of divergent csets. Changes in test file demonstrate that before this patch we were not doing it right because it should have relocated every node to other side instead of just relocating the first one from the stack.
(0) -3000 -1000 -300 -100 -60 +60 +100 +300 tip