Thu, 19 Dec 2019 13:06:29 -0800 evolvecmd: mark relocate() private
Martin von Zweigbergk <martinvonz@google.com> [Thu, 19 Dec 2019 13:06:29 -0800] rev 5020
evolvecmd: mark relocate() private
Thu, 19 Dec 2019 22:31:13 -0800 cleanup: replace .parents()[0] by .p1()
Martin von Zweigbergk <martinvonz@google.com> [Thu, 19 Dec 2019 22:31:13 -0800] rev 5019
cleanup: replace .parents()[0] by .p1()
Wed, 27 Nov 2019 20:54:48 +0530 evolve: add more tests for --continue case when relocating "divergent"
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 27 Nov 2019 20:54:48 +0530] rev 5018
evolve: add more tests for --continue case when relocating "divergent"
Wed, 27 Nov 2019 19:50:33 +0530 evolve: use meaningful variable names for a return value
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 27 Nov 2019 19:50:33 +0530] rev 5017
evolve: use meaningful variable names for a return value
Wed, 27 Nov 2019 12:34:19 +0530 evolve: add logic to cover --continue case when relocating "divergent"
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 27 Nov 2019 12:34:19 +0530] rev 5016
evolve: add logic to cover --continue case when relocating "divergent" Changes in test file demonstrate the added behaviour.
Mon, 25 Nov 2019 21:28:52 +0530 evolve: add test for `--continue` case when relocating "divergent"
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 25 Nov 2019 21:28:52 +0530] rev 5015
evolve: add test for `--continue` case when relocating "divergent" This test shows that for now we don't handle the continue case when relocating "divergent" cset hit merge conflict while resolving content-divergence. Next patch will be adding the support for --continue case.
Mon, 25 Nov 2019 19:12:51 +0530 evolve: use more specific key name to store in evolvestate
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 25 Nov 2019 19:12:51 +0530] rev 5014
evolve: use more specific key name to store in evolvestate Now, as we also relocate divergent cset if required, so let's use more specific key to track the relocation of "divergent" and "other".
Fri, 13 Dec 2019 01:29:27 +0530 evolve: move a test where it makes more sense
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 13 Dec 2019 01:29:27 +0530] rev 5013
evolve: move a test where it makes more sense
Thu, 12 Dec 2019 17:22:18 +0530 evolve: remove the unnecessary condition to check empty successors set
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 12 Dec 2019 17:22:18 +0530] rev 5012
evolve: remove the unnecessary condition to check empty successors set I annotated the history of this "newer == [()]" condition and found that it was added in the initial stages of evolution project (more than 8 years ago) and there is no test where we get [()] as a successor set. So looks like "if not newer" is enough to check if it is empty. I also looked into obsutil.successorssets() implementation and I don't think it would give us [()] in any case.
Tue, 19 Nov 2019 14:54:13 -0800 evolve: delete redundant and incorrect code for updating dirstate
Martin von Zweigbergk <martinvonz@google.com> [Tue, 19 Nov 2019 14:54:13 -0800] rev 5011
evolve: delete redundant and incorrect code for updating dirstate In relocate() when we notice conflicts, we will try to fix up the dirstate by calling copies.duplicatecopies() and dirstatedance(). However, we had called _evolvemerge() just before that point and that has already fixed up the dirstate, so there's no need to do it again. Also, we did it incorrectly as the test case shows.
Tue, 19 Nov 2019 14:24:31 -0800 tests: demonstrate how evolve loses transitive copies when interrupted
Martin von Zweigbergk <martinvonz@google.com> [Tue, 19 Nov 2019 14:24:31 -0800] rev 5010
tests: demonstrate how evolve loses transitive copies when interrupted Let's say `b` has been renamed to `c` in commit A and then renamed to `d` in commit B. We now modify A in a way that will cause a conflict when we evolve B. `hg evolve` will now stop and let the user resolve the conflicts, but it will have lost the copy information in the working copy (should still be c->d).
Mon, 09 Dec 2019 10:36:11 -0800 evolve: use ui.configoverride() instead of ui.backupconfig()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:36:11 -0800] rev 5009
evolve: use ui.configoverride() instead of ui.backupconfig() ui.configoverride() was added in hg 4.1. util.nullcontextmanager() was added in hg 4.4.
Mon, 09 Dec 2019 10:31:34 -0800 topic: use ui.configoverride() instead of ui.backupconfig()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:31:34 -0800] rev 5008
topic: use ui.configoverride() instead of ui.backupconfig() ui.configoverride() was added in hg 4.1. util.nullcontextmanager() was added in hg 4.4.
Mon, 09 Dec 2019 10:28:58 -0800 topic: use ui.configoverride() instead of ui.backupconfig()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:28:58 -0800] rev 5007
topic: use ui.configoverride() instead of ui.backupconfig() ui.configoverride() was added in hg 4.1. util.nullcontextmanager() was added in hg 4.4.
Mon, 09 Dec 2019 10:33:48 -0800 evolve: use ui.configoverride() instead of ui.backupconfig()
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:33:48 -0800] rev 5006
evolve: use ui.configoverride() instead of ui.backupconfig() ui.configoverride() was added in hg 4.1.
Mon, 09 Dec 2019 10:43:04 -0800 evolve: remove obsolete backup of allowemptycommit config
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:43:04 -0800] rev 5005
evolve: remove obsolete backup of allowemptycommit config We stopped setting the config in 88601e1cd5d8 (evolve: create new commit while resolving content-divergence, 2018-04-23), so there's no need to back it up.
Mon, 09 Dec 2019 10:44:42 -0800 evolve: remove dead initilization of "newnode" variable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 10:44:42 -0800] rev 5004
evolve: remove dead initilization of "newnode" variable It's been dead since f9dad99a90d5 (evolve: create a new commit instead of amending one of the divergents, 2018-06-13).
Thu, 12 Dec 2019 17:16:02 +0530 evolve: fix a typo
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 12 Dec 2019 17:16:02 +0530] rev 5003
evolve: fix a typo
Tue, 10 Dec 2019 21:03:51 +0100 changelog: mention the python 3 fix stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 21:03:51 +0100] rev 5002
changelog: mention the python 3 fix
Tue, 10 Dec 2019 21:03:23 +0100 changelog: mention the date fix for content divergence stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 21:03:23 +0100] rev 5001
changelog: mention the date fix for content divergence
Tue, 10 Dec 2019 20:47:13 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 20:47:13 +0100] rev 5000
branching: merge with stable
Tue, 10 Dec 2019 20:35:56 +0100 py3: fix several TypeError formatting bytes with an exception object stable
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 10 Dec 2019 20:35:56 +0100] rev 4999
py3: fix several TypeError formatting bytes with an exception object
Fri, 11 Oct 2019 21:32:27 +0200 evolve: preserve date when resolving content-divergence (issue6202) stable
Manuel Jacob <me@manueljacob.de> [Fri, 11 Oct 2019 21:32:27 +0200] rev 4998
evolve: preserve date when resolving content-divergence (issue6202) This patch changes the implementation to do a 3 way merge. In case of actual conflict, it take the newest date from both sides of the content-divergence.
Tue, 10 Dec 2019 19:58:51 +0100 test: add test for content divergence involving a date update stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 19:58:51 +0100] rev 4997
test: add test for content divergence involving a date update In this case, each side update the date.
Tue, 10 Dec 2019 19:55:37 +0100 test: add test for content divergence involving a date update stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 19:55:37 +0100] rev 4996
test: add test for content divergence involving a date update In this case, one side update to an earlier date.
Tue, 10 Dec 2019 19:27:55 +0100 test: add test for content divergence involving a date update stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 19:27:55 +0100] rev 4995
test: add test for content divergence involving a date update In this case, one side update to an older date.
Tue, 10 Dec 2019 19:13:06 +0100 test: highlight data handling when solving divergence stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Dec 2019 19:13:06 +0100] rev 4994
test: highlight data handling when solving divergence The current handling of date is lacking, we add test to highlight this.
Sat, 07 Dec 2019 03:27:50 +0530 evolve: add tests for the case when resolution parent is ambiguous stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 07 Dec 2019 03:27:50 +0530] rev 4993
evolve: add tests for the case when resolution parent is ambiguous
Fri, 06 Dec 2019 23:43:00 +0530 evolve: abort if deciding resolution parent is ambiguous stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 06 Dec 2019 23:43:00 +0530] rev 4992
evolve: abort if deciding resolution parent is ambiguous While solving content-divergence, it could be hard to decide which cset should be treated as a resolution parent if there are multiple successors of divergent cset. i.e split case. But we are planning to make some update in handling this split case: 1) consider highest one if all splitted csets are in a single topological branch 2) still need to decide if 1) doesn't apply
Sat, 23 Nov 2019 16:17:04 +0530 evolve: make sure divergence resolution doesn't undo changes (issue6203) stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 23 Nov 2019 16:17:04 +0530] rev 4991
evolve: make sure divergence resolution doesn't undo changes (issue6203) Before this patch, in content-divergence resolution logic if resolution parent is not the parent of any of the two divergent changesets then it could undo some changes introduced by previous revs (while resolving stack of content-divergent changesets) as demonstrated by the test added in previous patch. To solve this, what this patch doing is: if divergent cset has obsolete parent with a successor then first resolve the "orphan" instability of divergent cset by relocating, then perform the content-divergence resolution. After this change in logic, I found that it's kind of more correct as reflected by the changes in tests/test-evolve-content-divergent-corner-cases.t where it prevented creating conflicts while merging. Changes in tests/test-evolve-content-divergent-stack.t demonstrate the fixed behaviour. Next patches will be covering the `evolve --continue` case for the relocation of "divergent" cset.
Sat, 23 Nov 2019 20:25:16 +0530 evolve: add test to demonstrate issue6203 stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 23 Nov 2019 20:25:16 +0530] rev 4990
evolve: add test to demonstrate issue6203 Current logic of content-divergence resolution contains a bug that if resolution parent is not the parent of any of the two divergent changesets, it could undo some changes. I think a good solution for this is to first relocate the divergent cset to it's obsolete parent's successor if applicable and then perform the content-divergence resolution. Next patch will fix the issue.
Mon, 09 Dec 2019 16:01:56 +0700 state: there's no _unpack in struct stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Dec 2019 16:01:56 +0700] rev 4989
state: there's no _unpack in struct Caught by pytype.
Sun, 29 Sep 2019 11:47:18 +0530 amend: abort if both --patch and --extract are used stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 29 Sep 2019 11:47:18 +0530] rev 4988
amend: abort if both --patch and --extract are used
Mon, 09 Dec 2019 23:54:50 +0100 test-compat: merge mercurial-4.6 into mercurial-4.5 mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 09 Dec 2019 23:54:50 +0100] rev 4987
test-compat: merge mercurial-4.6 into mercurial-4.5
Fri, 06 Dec 2019 17:18:49 +0100 ci: add job to build and archive the documentation
Boris Feld <boris.feld@octobus.net> [Fri, 06 Dec 2019 17:18:49 +0100] rev 4986
ci: add job to build and archive the documentation
Thu, 05 Dec 2019 10:04:52 -0800 tests: update now that merge.graft() doesn't set two equal parents
Martin von Zweigbergk <martinvonz@google.com> [Thu, 05 Dec 2019 10:04:52 -0800] rev 4985
tests: update now that merge.graft() doesn't set two equal parents This is a consequence of https://phab.mercurial-scm.org/D7549. CORE-TEST-OUTPUT-UPDATE: 32d11a23c9cf
Fri, 06 Dec 2019 14:01:29 +0100 evolve: fix content-divergence resolution when p1 is null (issue6201) stable
Manuel Jacob <me@manueljacob.de> [Fri, 06 Dec 2019 14:01:29 +0100] rev 4984
evolve: fix content-divergence resolution when p1 is null (issue6201) Before this fix, in cases like in the added test, the revision number -1 of the parent was misinterpreted to mean the tipmost revision instead of the null revision, causing the content-divergence resolution to fail.
Wed, 04 Dec 2019 10:57:29 -0800 obslog: make {node} the full node and leave shortening to template
Martin von Zweigbergk <martinvonz@google.com> [Wed, 04 Dec 2019 10:57:29 -0800] rev 4983
obslog: make {node} the full node and leave shortening to template It should be up to the user to shorten the nodeid as much or as little as they like.
Wed, 04 Dec 2019 11:00:00 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 04 Dec 2019 11:00:00 +0100] rev 4982
branching: merge with stable
Tue, 03 Dec 2019 09:43:10 -0800 compat: accept "success" argument to lock._afterlock callback stable
Martin von Zweigbergk <martinvonz@google.com> [Tue, 03 Dec 2019 09:43:10 -0800] rev 4981
compat: accept "success" argument to lock._afterlock callback The callback gets a new "success" argument since Mercurial commit 888bd39ed555 (lock: pass "success" boolean to _afterlock callbacks, 2019-11-19).
Mon, 02 Dec 2019 20:59:04 +0700 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Anton Shestakov <av6@dwimlabs.net> [Mon, 02 Dec 2019 20:59:04 +0700] rev 4980
test-compat: merge mercurial-4.7 into mercurial-4.6
Mon, 02 Dec 2019 20:56:47 +0700 test-compat: run tests with -j more than 1 mercurial-4.7
Anton Shestakov <av6@dwimlabs.net> [Mon, 02 Dec 2019 20:56:47 +0700] rev 4979
test-compat: run tests with -j more than 1 In 4.7 and below run-tests.py defaults to -j1. We want more speed, so we use the same mechanism to detect the available number of CPU threads as the newer versions of run-tests.py.
Mon, 02 Dec 2019 14:44:31 +0100 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:44:31 +0100] rev 4978
test-compat: merge mercurial-4.7 into mercurial-4.6
Mon, 02 Dec 2019 14:44:00 +0100 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:44:00 +0100] rev 4977
test-compat: merge mercurial-4.8 into mercurial-4.7
Mon, 02 Dec 2019 14:43:25 +0100 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:43:25 +0100] rev 4976
test-compat: merge mercurial-4.9 into mercurial-4.8
Mon, 02 Dec 2019 14:42:32 +0100 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:42:32 +0100] rev 4975
test-compat: merge mercurial-5.0 into mercurial-4.9
Mon, 02 Dec 2019 14:41:09 +0100 test-compat: don't run the py3 test on the older branches mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 02 Dec 2019 14:41:09 +0100] rev 4974
test-compat: don't run the py3 test on the older branches
Fri, 22 Nov 2019 17:13:46 +0700 docs: add missing Figure 10 to sharing.rst stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 22 Nov 2019 17:13:46 +0700] rev 4973
docs: add missing Figure 10 to sharing.rst The .svg file itself has been already added earlier.
Thu, 28 Nov 2019 10:54:04 +0100 test-compat: merge mercurial-4.7 into mercurial-4.6 mercurial-4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:54:04 +0100] rev 4972
test-compat: merge mercurial-4.7 into mercurial-4.6
Thu, 28 Nov 2019 10:53:25 +0100 test-compat: merge mercurial-4.8 into mercurial-4.7 mercurial-4.7
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:53:25 +0100] rev 4971
test-compat: merge mercurial-4.8 into mercurial-4.7
Thu, 28 Nov 2019 10:52:04 +0100 test-compat: merge mercurial-4.9 into mercurial-4.8 mercurial-4.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:52:04 +0100] rev 4970
test-compat: merge mercurial-4.9 into mercurial-4.8
Thu, 28 Nov 2019 10:50:55 +0100 test-compat: merge mercurial-5.0 into mercurial-4.9 mercurial-4.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:50:55 +0100] rev 4969
test-compat: merge mercurial-5.0 into mercurial-4.9
Thu, 28 Nov 2019 10:49:29 +0100 test-compat: merge mercurial-5.1 into mercurial-5.0 mercurial-5.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:49:29 +0100] rev 4968
test-compat: merge mercurial-5.1 into mercurial-5.0
Thu, 28 Nov 2019 10:48:44 +0100 test-compat: merge stable into mercurial-5.1 mercurial-5.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Nov 2019 10:48:44 +0100] rev 4967
test-compat: merge stable into mercurial-5.1
Thu, 21 Nov 2019 14:18:35 +0700 heptapod-ci: add a script to map evolve branch to mercurial revision for tests stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 21 Nov 2019 14:18:35 +0700] rev 4966
heptapod-ci: add a script to map evolve branch to mercurial revision for tests map-hg-rev.sh can be tested using this command: ```sh for i in $(hg log -T '{branch}\n' | sort -u); do echo $i $(testlib/map-hg-rev.sh $i) done ```
Mon, 18 Nov 2019 14:33:59 +0700 pytype: ignore abc.ABCMeta metaclasses that don't work on py3
Anton Shestakov <av6@dwimlabs.net> [Mon, 18 Nov 2019 14:33:59 +0700] rev 4965
pytype: ignore abc.ABCMeta metaclasses that don't work on py3 See 70d42e2ad9b4 in hg: We can remove this when we're Python 3-only, but for now it's just too awkward to deal with and it's harmless.
Fri, 15 Nov 2019 16:04:35 -0800 tests: remove extra whitespace before patch in obslog output
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Nov 2019 16:04:35 -0800] rev 4964
tests: remove extra whitespace before patch in obslog output The indent() template function was fixed in https://phab.mercurial-scm.org/D7432 so now we have less trailing whitespace in obslog output. CORE-TEST-OUTPUT-UPDATE: fa246ada356b
Mon, 18 Nov 2019 13:04:56 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Nov 2019 13:04:56 +0100] rev 4963
branching: merge with stable
Mon, 18 Nov 2019 13:01:38 +0100 changelog: add a couple of missing entry about the next feature release
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Nov 2019 13:01:38 +0100] rev 4962
changelog: add a couple of missing entry about the next feature release
Mon, 18 Nov 2019 12:58:02 +0100 changelog: fix entry in the wrong location
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Nov 2019 12:58:02 +0100] rev 4961
changelog: fix entry in the wrong location That change was made on default, not stable.
(0) -3000 -1000 -300 -100 -60 +60 +100 +300 tip