Mon, 04 Jun 2018 01:28:02 +0530 evolve: merge commit messages while resolving content-divergence (issue5877)
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 04 Jun 2018 01:28:02 +0530] rev 3801
evolve: merge commit messages while resolving content-divergence (issue5877) While resolving content-divergence, there can be divergence in commit messages too which should be resolved. This patch uses the hg's internal merge API's to merge commit messages of divergent changesets with predecessor as the base. In case of conflicts, we fallback to divergent's commit message which should be changed in future. We should pop up the editor with the commit message and the conflict markers and let user fix that. Tests are added for the functionality added.
Wed, 06 Jun 2018 01:19:36 +0530 evolve: move if-else block under the right block
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jun 2018 01:19:36 +0530] rev 3800
evolve: move if-else block under the right block the index related if-else should be only executed when all three base, divergent and other have different branch names. I coded this last night and mistakenly mis-indented it. Caught when I was adding more tests.
Tue, 05 Jun 2018 22:02:24 +0530 tests: make sure we don't result in commit messages conflict
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 22:02:24 +0530] rev 3799
tests: make sure we don't result in commit messages conflict Upcoming patches will introduce functionality of merging commit messages while resolving content divergence which can lead to conflicts. We don't want to test the conflicts scenario here, so let's make sure there are no conflicts of commit messages in this test.
Tue, 05 Jun 2018 21:02:09 +0530 tests: don't use mkcommit shell function in test-divergent.t
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 21:02:09 +0530] rev 3798
tests: don't use mkcommit shell function in test-divergent.t Upcoming series will start merging commit descriptions while resolving content-divergence. This tests are here to test the basics of content-divegrence resolution and we should not be testing much of commit description merge here. Replacing mkcommit function with normal hg calls will help us decide on the commit messages ourselves and prevent conflicts while merging commit messages.
Wed, 06 Jun 2018 14:35:36 +0200 evolve: remove duplicated documentation
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 06 Jun 2018 14:35:36 +0200] rev 3797
evolve: remove duplicated documentation File saving failureā€¦
Wed, 06 Jun 2018 04:09:49 +0530 evolve: show `hg help evolve.interrupted-evolve` in error when conflicts
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jun 2018 04:09:49 +0530] rev 3796
evolve: show `hg help evolve.interrupted-evolve` in error when conflicts The help list various flags which you can use during interrupted evolve resolution and description about what they do. This will be very helpful for user on how to continue an interrupted evolve.
Wed, 23 May 2018 01:11:59 +0530 evolve: add a help topic `Interrupted-Evolve`
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 01:11:59 +0530] rev 3795
evolve: add a help topic `Interrupted-Evolve` This help topic contains description on how the various flags work during interrupted evolve. This help topic will be included in error message during interrupted evolve in next patch.
Tue, 05 Jun 2018 03:37:15 +0200 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Jun 2018 03:37:15 +0200] rev 3794
branching: merge with stable
Tue, 05 Jun 2018 03:36:40 +0200 changelog: fix version number error stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Jun 2018 03:36:40 +0200] rev 3793
changelog: fix version number error
Thu, 24 May 2018 02:12:14 +0530 evolve: return the new node formed only as the replacement
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 02:12:14 +0530] rev 3792
evolve: return the new node formed only as the replacement sometimes, the the other content divergent changeset is obsoleted in favour of the local divergent changeset in which case we should not store that as a replacement because `hg evolve --abort` will strip that changeset. Let's make sure we return the newnode only if formed. The test results shows that we are still not 100% accurate as we need to strip an obsmarker.
Thu, 24 May 2018 17:04:20 +0530 tests: add more test of --abort flag for content-divergence resolution
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 17:04:20 +0530] rev 3791
tests: add more test of --abort flag for content-divergence resolution This patch adds test when we resolve multiple content-divergence changesets at once and resolution fo first content-divergence does not form new commits, resolution of second one leads to conflicts. As the output shows, we are wrongly stripping a changeset here, which should be fixed in next patch.
Mon, 04 Jun 2018 04:03:02 +0530 evolve: prompt user for branch selection while resolving content-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 04 Jun 2018 04:03:02 +0530] rev 3790
evolve: prompt user for branch selection while resolving content-divergence When resolving content-divergence, there can be case when both the content-divergent changesets are on different named branches. In that case, we are not sure which branch should the resolution commit should be on. This patch adds logic to prompt user to choose the branch which the resolution commit should be on and then creates the new resolution commit on that branch. This also adds a new test file which have tests for the branch selection feature we have added.
Tue, 05 Jun 2018 03:51:01 +0530 evolve: pass the base revision in _completecontentdivergent()
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 03:51:01 +0530] rev 3789
evolve: pass the base revision in _completecontentdivergent() We need the base revision to merge commit messages, branches and more stuff. Let's make sure we have that by passing into the function which completes the divergence resolution.
Tue, 05 Jun 2018 03:49:49 +0530 evolve: store the base of content-divergents in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 03:49:49 +0530] rev 3788
evolve: store the base of content-divergents in evolvestate We need the base changeset for merging commit messages, branches. Let's store it in evolvestate.
Tue, 05 Jun 2018 00:53:21 +0530 evolve: use cmdrewrite.amend() instead of creating a new commit
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 00:53:21 +0530] rev 3787
evolve: use cmdrewrite.amend() instead of creating a new commit This patch backs out changeset 88601e1cd5d8. We replaced cmdrewrite.amend() with creating new commit because using amend(), a high level function was not good and creating a new commit gave us more control over things. **HOWEVER** to get more control, you need to get arrange all the pieces together perfectly. Creating a new commit, the existing logic has some bugs around dirstate handling, the `repo.dirstate.setparents()` call especially. Sometimes this fixes the dirstate correctly sometimes not. As Pierre-Yves David said, "Having a "clumsy" implementation with the right behavior is usually a good first step. So having an amend based implementation seems like a good first step.", let's take a step back and get back using amend so that we can have a correct basic implementation which is bug free.
(0) -3000 -1000 -300 -100 -15 +15 +100 +300 +1000 tip