Pulkit Goyal <7895pulkit@gmail.com> [Sun, 08 Jul 2018 22:50:16 +0530] rev 3876
tests: add a test to demonstrate issue5925
The issue will be fixed in next patch.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 09 Jul 2018 01:18:40 +0200] rev 3875
test: fix possible output change from 4.7
Change in debug timing can display these extra messages.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 06 Jul 2018 11:36:24 -0700] rev 3874
state: add the get() method that evolvecmd:1836 expects
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 03:56:54 +0200] rev 3873
rewing: prevent rewind in case of uncommitted changes
rewind can update, which means merge and troubles. We might relax this
limitation in the future.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 03:46:46 +0200] rev 3872
rewind: default to rewinding the current stack
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 03:10:19 +0200] rev 3871
rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 03:29:34 +0200] rev 3870
evolve: exclude "identical" precursors from the precursors set
I'm not sure it is the right thing to do, but it simply thing a lot for now.
Otherwise, using 'precursors' to find rewind direction become too complex.
This is going to give problematic result in case of prune. Since there are no
other precursors to follow.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 03:07:53 +0200] rev 3869
rewind: move revision selection into its own function
This will help making the logic more advanced.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 02:32:29 +0200] rev 3868
rewind: automatically rewind entire stack
We now rewind the full stack, avoiding creating orphans. A `--exact` flag is
added to force rewinding only the explicitly specified changesets.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 02:22:28 +0200] rev 3867
rewind: add a test about rewinding top of stack
For now this rewind is creating an orphan. We add the test to check the behavior
in that case.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 02:03:03 +0200] rev 3866
rewind: use rewinded parent when creating multiple changesets
Use use the rewinded parent instead of creating orphans based on identical, but
obsolete, changesets.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 00:22:31 +0200] rev 3865
rewind: add a test for rewinding a fold
The code already have basic support for case. However the result create orphan
that will need to be improved. However, we keep this changeset simple.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 01:36:30 +0200] rev 3864
rewind: add a test for rewinding a split
There are no code change needed but it is worth testing on its own.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 00:33:43 +0200] rev 3863
rewind: update the working copy if it gets obsoleted
If the working copy parent is rewinded, follow the rewind.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 01:04:20 +0200] rev 3862
rewind: add a message about obsolete changeset
Not the best output, but useful to have the data. We can improve that later.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 00:15:18 +0200] rev 3861
rewind: obsolete latest successors unless instructed otherwise
To prevent the creations of divergence, we automatically mark the successors set
of the rewinded changeset as obsoleted by the rewind result. A new flag
`--as-divergence` is added to disable this behavior.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Jun 2018 23:32:22 +0200] rev 3860
rewind: test rewinding an amended changesets
We are now able to rewind a simple amended changeset. For now, its current
successors has not been obsoleted and we created divergence.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Jun 2018 00:57:09 +0200] rev 3859
rewind: add a message about the rewinded changesets
This helps to understand what happened.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Jun 2018 23:11:52 +0200] rev 3858
rewind: add a proto version of the command
This first version focus on rewinding a single revision without care for the
consequence.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 29 Jun 2018 16:51:56 +0200] rev 3857
stablesort: make sure heads are processed in sorted order
changeset 72621094505f will fix some ordering issue in the `heads` revset so we
stabilise the output in advance.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 19 Jun 2018 23:21:54 +0530] rev 3856
evolve: move the bookmarks also when updating to successor (issue5923)
When we are on an obsolete node and does `hg evolve`, it updates to it's
sucessor, however it does not move the bookmark to the successor.
This patch adds logic to make sure we move the bookmark too.
Test change demonstrates the fix.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 19 Jun 2018 23:21:44 +0530] rev 3855
tests: add test to demonstrate issue5923
This will be fixed in upcoming patch.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Jun 2018 17:26:16 +0200] rev 3854
changelog: add an entry about the new `evolve.interrupted` section
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 15 Jun 2018 00:50:17 +0530] rev 3853
evolve: make one missed error to align other error messages
Previous patches missed this error to change it to the new format. Let's align
this with all other messages raised by `hg evolve` command.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 15 Jun 2018 00:16:29 +0530] rev 3852
evolve: raise error.InterventionRequired instead of Abort when conflicts
error.InterventionRequired is a better error to raise in such cases.
Thanks to marmoute for noticing this.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Jun 2018 02:58:30 +0200] rev 3851
changelog: add a changelog entry about divergence resolution
We made a lots of progress there.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Jun 2018 01:39:33 +0530] rev 3850
evolve: create resolved cset on successors of current parents
While resolving content-divergence, sometimes, the parent can be obsolete and
have a successor. We should consider the successors of the parents instead of
obsolete parents as that will do something like orphan+content-divergence
resolution both at the same time which is powerful and results in a single stack
while resolving content-divergence of stacks.
The test changes demonstrates that we can now successfully evolve a content
divergent stack.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Jun 2018 01:39:11 +0530] rev 3849
tests: fix a test case to not create conflicts
This is the test case where we are testing about divergence resolution of stack
of patches. If the stack is as follows:
C1 C2
| |
B1 B2
| |
A1 A2
\/
base
And A1-A2, B1-B2 and C1-C2 are content-divergent, and merging A1-A2 results in
conflicts.
Now if you resolve conflicts and continue resoling B1-B2, the conflicts of A1-A2
will still be there. We need somehow to understand the work we has done and not
create conflicts again.
To test the evolution functionality for now, we make sure conflicts does not
occur.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Jun 2018 01:06:12 +0530] rev 3848
evolve: introduce a resolutionparent variable and store it in evolvestate
This patch introduces a resolutionparent variable which will be the parent of
final changeset after resolving content-divergent changesets.
Till now, the parent is always the parent of one of the divergent node, but now
in upcoming cases, it can be a successor of both the parents of divergent nodes.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 13 Jun 2018 18:08:57 +0530] rev 3847
evolve: introduce a dirstatedance() fn to fix dirstate after parent change
This patch introduces a dirstatedance() function which will be used after fixing
the dirstate when we change parents using repo.dirstate.setparents().
Look at docs added for more details.