Fri, 08 Jun 2018 18:32:48 +0530 next-prev: add tests showing --merge not respected in some cases stable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jun 2018 18:32:48 +0530] rev 3812
next-prev: add tests showing --merge not respected in some cases This patch adds tests which show that --merge is not respected when you set commands.update.check to any value. This is a bug I wrote few days ago and will fix it in next changeset. I like this process of writing bugs and fixing them.
Thu, 07 Jun 2018 22:59:39 +0530 evolve: store the evolvestate if relocation results in conflicts
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 22:59:39 +0530] rev 3811
evolve: store the evolvestate if relocation results in conflicts We missed storing the evolvestate on disk when relocation lead to conflicts. We need to store it to grab information to continue or abort or stop the evolve.
Thu, 07 Jun 2018 22:45:54 +0530 tests: add more test of resolution of content-divergent changesets
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 22:45:54 +0530] rev 3810
tests: add more test of resolution of content-divergent changesets This patch adds test of resolution of content-divergent changesets when relocation is required and it leads to conflicts. The test shows that we are not doing the right thing. This will be fixed in upcoming patches.
Thu, 07 Jun 2018 18:18:10 +0530 evolvestate: store info about relocation while resolving content-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 18:18:10 +0530] rev 3809
evolvestate: store info about relocation while resolving content-divergence While resolving content-divergence when they are on different parents, we relocate one of the node to parent of another one and this can lead to conflicts sometimes. So we need to store information about that state in evolvestate so that we can use that when user does `hg evolve --continue` or `--stop` or `--abort`. Now that we make sure, we store the new other node in evolvestate, we fix the behavior of handling the relocated commit and merge the right changesets.
Thu, 07 Jun 2018 18:13:54 +0530 evolve: factor out logic to merge content divergent csets in separate fn
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 18:13:54 +0530] rev 3808
evolve: factor out logic to merge content divergent csets in separate fn This will help us in reusing the logic if we need to while doing evolve --continue.
Thu, 07 Jun 2018 20:27:03 +0530 evolve: commit the transaction if conflicts occur while merging content-div
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 20:27:03 +0530] rev 3807
evolve: commit the transaction if conflicts occur while merging content-div Yes, let's commit the transaction in case conflicts occur. Yes, this is what unshelve does and this is one of the reasons we don't like unshelve. Previous patches added support for resolving content-divergence when they are on different parents with parent of one being the gca. In such cases, we relocate one of the divergent commit to the parent of another one. All the relocation stuff and merging divergent changeset stuff happens in a single transaction, so if there are conflicts while merging, we abort and the transaction rollsback and our relocated commit is not applied after abort. We don't want to process the relocation because that can lead to conflicts and we will have dirty wdir because of resolving conflicts. So, we commit the transaction when merging results in conflicts to make sure if relocation happened, we commit that. This fixes the absence of relocation commit found in previous patch and uncover a new bug about handling of relocated commit. Upcoming patch will fix it.
Thu, 07 Jun 2018 15:54:32 +0530 tests: add tests for resolving content-divergence when different parents
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 15:54:32 +0530] rev 3806
tests: add tests for resolving content-divergence when different parents This patch adds more tests for cases when we try to resolve content-divergence when they are on different parents. The last test shows the we are somehow missing the relocated commit in interrupted transaction. This will be fixed in next patch.
Fri, 01 Jun 2018 19:52:06 +0530 evolve: implement resolution of content-divergence when on differet parents
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 01 Jun 2018 19:52:06 +0530] rev 3805
evolve: implement resolution of content-divergence when on differet parents This patch implements the basic version of resolution of content-divergence changesets when they are on different parents but one of the parent is gca of both the different parents. The functionality first relocates the divergent changeset which was left behind and then resolves the content-divergence like it resolves in normal cases. This is a very basic implementation because it still does not work on interrupted evolution. Test changes in this patch shows the basic functionality working. The output of dry-run is also required to be tweaked in such cased. Upcoming patches will add more tests and will improve the implementation to work during conflicts too.
Fri, 01 Jun 2018 19:57:19 +0530 tests: add tests for resolving content-divergence with parent change
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 01 Jun 2018 19:57:19 +0530] rev 3804
tests: add tests for resolving content-divergence with parent change This patch adds a new test file test-evolve-content-divergence.t which tests the resolution of content divergence when the divergent changesets does not have the same parents.
Wed, 06 Jun 2018 03:49:17 +0530 CHANGELOG: add an entry about fixing issue5877
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jun 2018 03:49:17 +0530] rev 3803
CHANGELOG: add an entry about fixing issue5877
(0) -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 tip