Fri, 16 Mar 2018 16:04:28 +0530 evolve: load evolvestate before passing to continueevolve()
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 16:04:28 +0530] rev 3556
evolve: load evolvestate before passing to continueevolve() This patch moves some code from continueevolve() to evolve() function so that we have a loaded evolvestate present in the evolve() function for post processing.
Fri, 16 Mar 2018 15:56:05 +0530 evolve: move the handling for non-continue part in else conditional
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 15:56:05 +0530] rev 3555
evolve: move the handling for non-continue part in else conditional This will help us do factor out which operations we want to do for continue, which for non-continue and which operations we want to do for both of them.
Wed, 14 Mar 2018 21:21:10 +0530 evolve: move the logic of continuation handling of `hg evolve` in own fn
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 14 Mar 2018 21:21:10 +0530] rev 3554
evolve: move the logic of continuation handling of `hg evolve` in own fn The function which defines the evolve command is pretty big with all the logic messed up there. It's better to have individual functions for individual uses. The movement of code will help in adding more logic to continue part in clean way. Moreover for implementing `hg continue`, we need all continuation handling in their own functions, so it will help there too.
Fri, 16 Mar 2018 15:24:56 +0530 CHANGELOG: add an entry about next and prev being interactive
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 15:24:56 +0530] rev 3553
CHANGELOG: add an entry about next and prev being interactive
Fri, 16 Mar 2018 13:24:57 +0530 prev: show changeset hash in --dry-run instead of rev numbers
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 13:24:57 +0530] rev 3552
prev: show changeset hash in --dry-run instead of rev numbers rev numbers can change, so it's better to show changeset hash.
Fri, 16 Mar 2018 13:13:21 +0530 prev: prompt user to choose parent in case of multiple parents
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 13:13:21 +0530] rev 3551
prev: prompt user to choose parent in case of multiple parents This patch adds functionality to `hg prev` to prompt user to choose one parent to update when multiple parents exist. Surprisingly there were no tests for this case before this patch, I added one with this patch.
Fri, 16 Mar 2018 12:48:03 +0530 next: cleanup logic around return by returning early
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 12:48:03 +0530] rev 3550
next: cleanup logic around return by returning early In the cmdnext function, there are some conditionals which returns early and some which sets a result value to be returned later. Let's return from all the conditionals early. There are if, elif and else involved, so it's sure we will end up in one of the conditional, each conditional will return, so it's guranteed that we are returning the correct value and returning everytime.
Fri, 16 Mar 2018 12:14:39 +0530 next: prompt user to choose child in ambiguity in `hg next --evolve`
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 12:14:39 +0530] rev 3549
next: prompt user to choose child in ambiguity in `hg next --evolve` This patch makes `hg next --evolve` prompt user to choose a child to evolve and update when multiple of them exists. This is improvement over previous behavior where we used to error out saying ambiguous next unstable changeset and told user to manually use `hg evolve -r rev`. While writing this patch, I am personally very happy to have this feature as I have encountered this stage many times and I wanted `next --evolve` to take care of that. It uses the revselectionprompt thing added in earlier patches.
Fri, 16 Mar 2018 11:56:50 +0530 next: move logic to evolve the children to it's own function
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 11:56:50 +0530] rev 3548
next: move logic to evolve the children to it's own function This patch moves the logic which evolves the children and updates to it in `hg next --evolve` to it's own function as we want to use that again.
Fri, 16 Mar 2018 11:46:47 +0530 next: prompt user to choose a children in case of ambiguity
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 11:46:47 +0530] rev 3547
next: prompt user to choose a children in case of ambiguity This patch adds functionality to prompt user and ask the children to which next should move to incase of multiple childrens. This is a very nice UI because otherwise user has to lookup changeset hash, and then manually do `hg update` to that. In this case we show hash and description so user can choose which one to update easily. It is using the interactive revision choosing functionality added in a previous patch.
Fri, 16 Mar 2018 11:31:13 +0530 next: show changeset hash in `--dry-run` instead of rev numbers
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 11:31:13 +0530] rev 3546
next: show changeset hash in `--dry-run` instead of rev numbers Rev numbers can change, hence we should show rev hash instead of rev numbers in dry-run.
Sun, 18 Mar 2018 01:27:02 +0530 evolve: make sure we consider all cases in if-else
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Mar 2018 01:27:02 +0530] rev 3545
evolve: make sure we consider all cases in if-else The part of code which is touched decides on evolution of merge changeset. We need proper handling of each case there, so before adding logic, let's add conditional for each case so that upcoming patches are easy to understand.
Mon, 19 Mar 2018 14:03:41 +0100 tests: add more cases about stabilization of an orphaned merge commit
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Mar 2018 14:03:41 +0100] rev 3544
tests: add more cases about stabilization of an orphaned merge commit This patch adds three more cases related to stabilization of orphaned merge commits.
Mon, 19 Mar 2018 13:47:07 +0100 evolve: fix missing negation
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Mar 2018 13:47:07 +0100] rev 3543
evolve: fix missing negation Spotted by Pulkit Goyal.
Mon, 19 Mar 2018 12:01:07 +0100 evolve: clarify message for ambiguous destination from split
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Mar 2018 12:01:07 +0100] rev 3542
evolve: clarify message for ambiguous destination from split Message is a bit long, but should be less scary.
Wed, 14 Mar 2018 18:24:22 +0530 evolve: prompt user to select destination for stabilization in case of split
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 14 Mar 2018 18:24:22 +0530] rev 3541
evolve: prompt user to select destination for stabilization in case of split This patch adds functionality to prompt user to select a revision when there exists multiple stabilization destination because of split on multiple branches. Test are also added for the feature. I am not sure whether this is the best message which we can show, if people have suggestions I will like to improve the messages shown in prompt.
Wed, 14 Mar 2018 18:36:35 +0530 tests: remove some tests which are moved to dedicated files
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 14 Mar 2018 18:36:35 +0530] rev 3540
tests: remove some tests which are moved to dedicated files The tests in test-unstable.t files are now moved to their dedicated file with all the cases to that in that file. Let's delete them from here.
Fri, 16 Mar 2018 11:24:35 +0530 next: factor out the logic to update to changeset in another function
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 11:24:35 +0530] rev 3539
next: factor out the logic to update to changeset in another function This patch moves the logic to update to children changeset during `hg next` in a separate function because we want to re-use the logic when we will prompt user to choose a changeset in case of multiple childrens.
Wed, 14 Mar 2018 17:59:53 +0530 utility: add a function to prompt user to choose a revision
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 14 Mar 2018 17:59:53 +0530] rev 3538
utility: add a function to prompt user to choose a revision This patch adds a utility function to interactively prompt user to choose a revision to proceed in cases when there are multiple revisions which are candidates. The function will be used in `hg evolve`, `hg next`, `hg prev` etc. If user feedback will be good, I plan to move it to core and use it at more possible places.
Wed, 14 Mar 2018 17:20:20 +0530 tests: add a test about evolve stabilizing orphan caused by splits
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 14 Mar 2018 17:20:20 +0530] rev 3537
tests: add a test about evolve stabilizing orphan caused by splits There are some similar tests lying around in the test suite but they are not well arranged. I wanted the test suite to be a goto reference for all the behaviors till the time we get all of them documented.
Mon, 19 Mar 2018 11:36:55 +0100 test: fix output after rev-branch-cache has been merged
Boris Feld <boris.feld@octobus.net> [Mon, 19 Mar 2018 11:36:55 +0100] rev 3536
test: fix output after rev-branch-cache has been merged Mercurial core 2090044a288d added a new revbranchcache part which changed some exchange-related outputs. Glob them to ease merging with old Mercurial versions branches.
Fri, 16 Mar 2018 09:13:33 -0700 cleanup: remove duplicate import of "obsolete"
Martin von Zweigbergk <martinvonz@google.com> [Fri, 16 Mar 2018 09:13:33 -0700] rev 3535
cleanup: remove duplicate import of "obsolete"
Fri, 16 Mar 2018 15:21:05 +0530 previous: fix behavior on obsolete cset when topic is involved (issue5708) stable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 15:21:05 +0530] rev 3534
previous: fix behavior on obsolete cset when topic is involved (issue5708) This patch fixes the behavior of `hg previous` when done on an obsolete changeset having a successor of different topic. The underlying code is bit messed up, I wanted to split the topic handling to topic extension but I have postponed it to next bug.
Fri, 16 Mar 2018 15:15:17 +0530 previous: add test case when it's broken on obsolete cset stable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 15:15:17 +0530] rev 3533
previous: add test case when it's broken on obsolete cset This patch adds couple of tests showing `hg previous` is broken on obsolete changeset when the successor has different topic. Upcoming patch will fix this.
Fri, 16 Mar 2018 15:01:44 +0530 prev: fix the breakage of `hg previous` from obsolete cset stable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 15:01:44 +0530] rev 3532
prev: fix the breakage of `hg previous` from obsolete cset This patch fix the breakage of `hg prev` from obsolete changeset when topic is involved. We get the topicidx of it's succesor and proceed.
Fri, 16 Mar 2018 14:59:10 +0530 prev: add a test case which shows traceback when doing prev on obsolete cset stable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 14:59:10 +0530] rev 3531
prev: add a test case which shows traceback when doing prev on obsolete cset This patch adds a test which shows how `hg prev` is borken when called from a obsolete changeset and there is an active topic. The next patch will fix that.
Tue, 13 Mar 2018 19:06:14 +0530 tests: add more tests related to stabilization of orphaned merge commit
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 13 Mar 2018 19:06:14 +0530] rev 3530
tests: add more tests related to stabilization of orphaned merge commit This patch more tests related to stabilization of orphaned merge commit. Stabilization of a merge changeset with both the parents is not supported right now and prints a message on how to do that. Maybe we should do that internally as a part of `hg evolve` but I need to think about this.
Tue, 13 Mar 2018 18:17:50 +0530 evolve: fix stabilization of orphan merge changesets in case of conflicts
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 13 Mar 2018 18:17:50 +0530] rev 3529
evolve: fix stabilization of orphan merge changesets in case of conflicts As demonstrated by tests added in previous patch, if one of the parent of a merge changeset has a new version and merge changeset gets, running `hg evolve` to stabilize that if results in conflicts will lead to lose of other parent of that merge changeset when we resolve conflicts and do `hg evolve --continue`. This patch fixes the behavior, by checking whether we are continuing evolving a merge changeset and if yes, setting the dirstate parents according to that.
Tue, 13 Mar 2018 15:29:35 +0530 tests: add a test file of resolving orphaness of merge changesets
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 13 Mar 2018 15:29:35 +0530] rev 3528
tests: add a test file of resolving orphaness of merge changesets This patch adds a new test file named test-evolve-orphan-merge.t which contains test cases when `hg evolve` try to stabilize a merge changeset which was orphan. This file contains 20-30% of all the cases as we have got something to fix before we add tests for rest of the cases. Going by this approach will make sure we don't live unfixed cases in the test file and the test files does not become a pile of hacks which are used to get in state when we fix the bugs.
Tue, 13 Mar 2018 20:44:51 +0530 grab: gracefully handle the case when we try to grab parent of wdir
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 13 Mar 2018 20:44:51 +0530] rev 3527
grab: gracefully handle the case when we try to grab parent of wdir Before this patch, we go all the way down to obsmarker creation logic and gets an error saying that changeset cannot obsolete itself. We should be more smart here and error out early saying we cannot grab that changeset.
Sat, 03 Mar 2018 23:31:46 +0530 grab: move the initialization of pctx variable outside of if-else
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 03 Mar 2018 23:31:46 +0530] rev 3526
grab: move the initialization of pctx variable outside of if-else The pctx variable is used outside of the if-else but it was initialized under the conditional statements. Added test for the case when the initialization inside the if-else broke `hg grab --continue`.
Wed, 14 Mar 2018 02:32:08 +0100 compat: drop hack around http request handling for 4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Mar 2018 02:32:08 +0100] rev 3525
compat: drop hack around http request handling for 4.6 The approach we used in 4.5 works again :-)
Wed, 14 Mar 2018 02:08:53 +0100 obsdiscovery: add compatibility layer to register wireproto command
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Mar 2018 02:08:53 +0100] rev 3524
obsdiscovery: add compatibility layer to register wireproto command Mercurial core 0b18604db95e changed the way permissions are registered.
Wed, 14 Mar 2018 02:21:07 +0100 compat: pass all hgweb dispatch argument to the orig function
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Mar 2018 02:21:07 +0100] rev 3523
compat: pass all hgweb dispatch argument to the orig function This make use compatible with whatever changes on this side.
Wed, 07 Mar 2018 00:00:02 -0500 grab: add short version for continue and abort
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Mar 2018 00:00:02 -0500] rev 3522
grab: add short version for continue and abort
Fri, 23 Feb 2018 20:27:17 +0800 obsdiscovery: include units in ui.progress() calls (issue5773)
Anton Shestakov <av6@dwimlabs.net> [Fri, 23 Feb 2018 20:27:17 +0800] rev 3521
obsdiscovery: include units in ui.progress() calls (issue5773)
Sun, 04 Mar 2018 20:19:19 -0500 tests: commit tests changes missing in the previous changeset
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 04 Mar 2018 20:19:19 -0500] rev 3520
tests: commit tests changes missing in the previous changeset (guess who forgot to amend)...
Sun, 04 Mar 2018 11:34:49 -0500 obslog: add the operation to the Obslog output
Boris Feld <boris.feld@octobus.net> [Sun, 04 Mar 2018 11:34:49 -0500] rev 3519
obslog: add the operation to the Obslog output The operation is helpful when debugging a case where we don't know how we ended up in this case while effect-flag are useful to understand what semantic changes happens to a changeset. Add the operation when displaying an obs-marker in the following form: `rewritten as X using amend` The other proposal is interesting but seems harder to internationalize and might requires update each time we introduce new operation: `Amended as X` Let's use the first proposal right now.
Tue, 19 Dec 2017 13:15:00 -0600 serverminitopic: attempt to fix assertion for repoview in branchmap
Sean Farley <sean@farley.io> [Tue, 19 Dec 2017 13:15:00 -0600] rev 3518
serverminitopic: attempt to fix assertion for repoview in branchmap This seems fine since we topic never impact public only caches.
Sun, 04 Mar 2018 17:41:45 -0500 compat: register a version of 'obsfatedata' template that works with 4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 04 Mar 2018 17:41:45 -0500] rev 3517
compat: register a version of 'obsfatedata' template that works with 4.6 Since showlist is deprecated, let us use compatlist.
Sun, 04 Mar 2018 17:09:41 -0500 compat: register a version of 'troubles' template that works with 4.6 API
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 04 Mar 2018 17:09:41 -0500] rev 3516
compat: register a version of 'troubles' template that works with 4.6 API Since showlist is deprecated, let us use compatlist.
Sun, 04 Mar 2018 17:07:53 -0500 exthelper: add support for "requires" argument for template keyword
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 04 Mar 2018 17:07:53 -0500] rev 3515
exthelper: add support for "requires" argument for template keyword This will help use to support the new template API.
Sat, 03 Mar 2018 23:17:26 -0500 compat: add compat layer for date related functions
Boris Feld <boris.feld@octobus.net> [Sat, 03 Mar 2018 23:17:26 -0500] rev 3514
compat: add compat layer for date related functions
Sat, 03 Mar 2018 22:25:24 -0500 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 03 Mar 2018 22:25:24 -0500] rev 3513
branching: merge with stable
Sat, 03 Mar 2018 22:12:35 -0500 compat: more straight forward alias for old template names
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 03 Mar 2018 22:12:35 -0500] rev 3512
compat: more straight forward alias for old template names The template registration have significantly changed in core:7b74afec6772. We take simpler approach to define the alias in a way that works for all versions.
Tue, 05 Dec 2017 20:45:46 -0800 serverminitopic: fix wrong object being passed to phase stable
Sean Farley <sean@farley.io> [Tue, 05 Dec 2017 20:45:46 -0800] rev 3511
serverminitopic: fix wrong object being passed to phase
Fri, 02 Mar 2018 19:33:20 -0500 legacy: respect explicit config for server.bundle1 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 02 Mar 2018 19:33:20 -0500] rev 3510
legacy: respect explicit config for server.bundle1 Unconditionally disabling bundle1 is a problem for larger hosting website. We adopt a less aggressive approach and only disable it the default would be used.
Fri, 02 Mar 2018 16:31:08 -0500 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 02 Mar 2018 16:31:08 -0500] rev 3509
branching: merge with stable
Fri, 02 Mar 2018 16:30:48 -0500 compat: only wrap wireprotoserver function if they exist
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 02 Mar 2018 16:30:48 -0500] rev 3508
compat: only wrap wireprotoserver function if they exist Older version does not need the wrapping so everything should be fine.
Fri, 02 Mar 2018 16:07:33 -0500 pure: make sure what we expect to be list are list stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 02 Mar 2018 16:07:33 -0500] rev 3507
pure: make sure what we expect to be list are list In the pure version, some of these object would be generator.
Mon, 26 Feb 2018 13:59:30 +0100 evolve: update code for not implicitly converting ctx to revision
Boris Feld <boris.feld@octobus.net> [Mon, 26 Feb 2018 13:59:30 +0100] rev 3506
evolve: update code for not implicitly converting ctx to revision Mercurial core 38f480502043 removed the capacity to implicitly convert contexts to revisions using `int(ctx)`. Update Evolve code to explicitly call rev instead.
Fri, 23 Feb 2018 11:02:59 +0100 legacy-push: fix the code forbidding legacy obsmarkers pulling
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 23 Feb 2018 11:02:59 +0100] rev 3505
legacy-push: fix the code forbidding legacy obsmarkers pulling changeset e69e65b2b4a9 in code remove a key try/except. We reintroduce it for compatibility.
Wed, 21 Feb 2018 17:45:50 +0100 updatecaches: handle any new parameters to the method
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Feb 2018 17:45:50 +0100] rev 3504
updatecaches: handle any new parameters to the method
Wed, 07 Feb 2018 13:42:30 +0530 evolvecmd: fix broken `evolve --continue` ran after `next --evolve`
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 07 Feb 2018 13:42:30 +0530] rev 3503
evolvecmd: fix broken `evolve --continue` ran after `next --evolve` Recent series broke `evolve --continue`in cases when run after `hg next --evolve`. The previous patch adds test demonstarting the broken behaviour, this patch fixes that by storing the command which leads us to evolve --continue in the evolvestate.
Wed, 07 Feb 2018 22:41:30 +0530 tests: add test showing `evolve --continue` after `next --evolve` is broken
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 07 Feb 2018 22:41:30 +0530] rev 3502
tests: add test showing `evolve --continue` after `next --evolve` is broken Recent series fixing `hg evolve --continue` break the continue functionality after a conflicting `hg next --evolve`. This patch adds a test to demonstrate that. It will be fixed in the upcoming patch.
Wed, 17 May 2017 09:39:15 +0200 color: add some colors to evolve command itself
Boris Feld <boris.feld@octobus.net> [Wed, 17 May 2017 09:39:15 +0200] rev 3501
color: add some colors to evolve command itself
Wed, 14 Feb 2018 14:53:43 +0100 wireproto: fix *_capabilities for change of API types
Boris Feld <boris.feld@octobus.net> [Wed, 14 Feb 2018 14:53:43 +0100] rev 3500
wireproto: fix *_capabilities for change of API types Mercurial commit 2f7290555c96 introduced new types for *_capabilities, update the code to use them.
Wed, 14 Feb 2018 09:46:56 +0100 obsfate: fix changeset description diff computing
Boris Feld <boris.feld@octobus.net> [Wed, 14 Feb 2018 09:46:56 +0100] rev 3499
obsfate: fix changeset description diff computing Mercurial core 8b6dd3922f70 changed the mdiff.unidiff API. Add a new compat method for all supported Mercurial versions.
Tue, 30 Jan 2018 15:11:35 +0530 evolve: add comptability to read old evolvestate files
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 30 Jan 2018 15:11:35 +0530] rev 3498
evolve: add comptability to read old evolvestate files When a user runs `hg evolve` with old evolve where we used to write evolvestate the old ways i.e. without using cbor, and faces conflicts, the evolve is interrupted. If the user updates evolve before completing the evolve, that can result in traceback as the new evolve cannot read the old evolvestate file. The previous patch added function to read old evolvestate file and this patch uses that when we encounter the above mentioned case.
Tue, 30 Jan 2018 15:02:40 +0530 state: bring back the function to read old evolvestate files
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 30 Jan 2018 15:02:40 +0530] rev 3497
state: bring back the function to read old evolvestate files Before introduction of this nice cmdstate file wrapper, we had individual methods to write data to evolvestate file. Let's bring back the function which used to read data from the old evolvestae file so that we can use it in next patch for BC purposes.
(0) -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 tip