Mon, 12 Mar 2018 15:51:34 -0700 touch: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:51:34 -0700] rev 3568
touch: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:51:26 -0700 split: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:51:26 -0700] rev 3567
split: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:51:17 -0700 prune: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:51:17 -0700] rev 3566
prune: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:51:07 -0700 metaedit: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:51:07 -0700] rev 3565
metaedit: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:50:59 -0700 fold: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:50:59 -0700] rev 3564
fold: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:50:45 -0700 uncommit: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:50:45 -0700] rev 3563
uncommit: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:40:28 -0700 evolve: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:40:28 -0700] rev 3562
evolve: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:50:25 -0700 amend: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:50:25 -0700] rev 3561
amend: include "operation" metadata in obsmarkers This is for the legacy handling support for "hg commit --amend" case. I picked "amend" because it feels more natural than "commit". Besides, and more importantly, that's consistent what core uses.
Fri, 16 Mar 2018 10:22:27 -0700 compat: add wrapper for obsolete.createmarkers() that accepts "operation" arg
Martin von Zweigbergk <martinvonz@google.com> [Fri, 16 Mar 2018 10:22:27 -0700] rev 3560
compat: add wrapper for obsolete.createmarkers() that accepts "operation" arg I want to start passing the operation argument, but hg < 4.3 does not support it, so we need a compat wrapper. For older hg, the operation is simply ignored.
Mon, 12 Mar 2018 23:26:25 -0700 tests: do not glob out fixed dates
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 23:26:25 -0700] rev 3559
tests: do not glob out fixed dates Perhaps these dates historically have not been fixed, but they seem to be now. I got tired of not being able to use "run-tests.py -i".
Fri, 16 Mar 2018 17:00:01 +0530 evolve: de-duplicate some function calls
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 17:00:01 +0530] rev 3558
evolve: de-duplicate some function calls _cleanup() was called in continueevolve() and evolve() function too. Let's call it at a single place for both the cases. Also call progresscb() outside of conditionals to call it both times.
Fri, 16 Mar 2018 16:11:22 +0530 evolve: move deletion of evolvestate out of continueevolve() function
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Mar 2018 16:11:22 +0530] rev 3557
evolve: move deletion of evolvestate out of continueevolve() function We need to extract some data at evolve() function from evolvestate.
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.
Tue, 30 Jan 2018 00:02:29 +0530 evolve: add entry in CHANGELOG about fixed behavior of `hg evolve --continue`
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 30 Jan 2018 00:02:29 +0530] rev 3496
evolve: add entry in CHANGELOG about fixed behavior of `hg evolve --continue`
Tue, 30 Jan 2018 00:00:45 +0530 evolve: store the skippedrevs in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 30 Jan 2018 00:00:45 +0530] rev 3495
evolve: store the skippedrevs in evolvestate While doing `hg evolve`, there are some revs which are skipped as they can't be evolved. Before this patch, we did not store this information in evolvestate and neither they were evolved, so `hg evolve --continue` will again try to stabilize those revisions. As much time as we run `hg evolve --continue`, this will happen which is not a good behavior. This patch adds a skippedrevs list to evolvestate where we store such revisions so that we don't try to stabilize them again.
Mon, 29 Jan 2018 00:09:44 +0530 evolve: show the updated working directory after `hg evolve --continue`
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 29 Jan 2018 00:09:44 +0530] rev 3494
evolve: show the updated working directory after `hg evolve --continue` `hg evolve` shows a nice message about the new working directory when the evolve ends but if the evolve is interrupted by conflicts and you continue the evolve resolving the conflicts, that nice message is lost. Let's have that in case of `--continue` too.
Sun, 28 Jan 2018 23:49:46 +0530 evolve: make `hg evolve --continue` respect `--confirm`
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 28 Jan 2018 23:49:46 +0530] rev 3493
evolve: make `hg evolve --continue` respect `--confirm` Previous patch added capability to `hg evolve --continue` to continue the rest of the stack, not just the current revision but that was missing respecting the `--confirm` flag which user passed earlier. This patch makes sure we respect the `--confirm` flag.
Wed, 24 Jan 2018 13:20:18 +0530 evolve: make `--continue` continue evolving all remaining revisions
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 24 Jan 2018 13:20:18 +0530] rev 3492
evolve: make `--continue` continue evolving all remaining revisions This patch makes `hg evolve --continue` to continue all remaining revisions instead of just the current conflicted one. There are some still improvements required to this behavior after which the CHANGELOG entry will be added.
Sun, 04 Feb 2018 20:58:03 +0530 tests: add more tests to test-evolve-continue.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 04 Feb 2018 20:58:03 +0530] rev 3491
tests: add more tests to test-evolve-continue.t This patch adds more tests for `hg evolve --continue`. The tests demonstrates how the continuation handling of hg evolve is broken and the later patches fixes that handling.
Mon, 22 Jan 2018 18:52:27 +0530 evolve: handle case when newnode can be None while continuing evolve
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 18:52:27 +0530] rev 3490
evolve: handle case when newnode can be None while continuing evolve There can be case when `hg evolve --continue` is run, when working directory is clean and there is nothing to be included in the new commit. Let's make sure we handle such cases correctly and obsolete the node which is evolved with parent of wdir as successor. This is same as what rebase does.
Sun, 28 Jan 2018 19:28:08 +0530 tests: add tests for `hg evolve --continue`
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 28 Jan 2018 19:28:08 +0530] rev 3489
tests: add tests for `hg evolve --continue` This patch adds a new test file containing tests for `hg evolve --continue`. The test file still does not contains all the tests related to `hg evolve --continue` as one of the case is broken which needs to be fixed first. The case is when resolving a conflicting evolve results in empty wdir. Next patch will fix the traceback and then a later patch will add more tests.
Tue, 06 Feb 2018 13:00:28 +0100 merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 06 Feb 2018 13:00:28 +0100] rev 3488
merge with stable
Sun, 04 Feb 2018 21:05:03 +0530 CHANGELOG: add an entry about resolve showing how to continue evolve
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 04 Feb 2018 21:05:03 +0530] rev 3487
CHANGELOG: add an entry about resolve showing how to continue evolve
Sun, 21 Jan 2018 16:55:02 -0500 test: explicitly run HGEDITOR shell command with `sh` stable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 21 Jan 2018 16:55:02 -0500] rev 3486
test: explicitly run HGEDITOR shell command with `sh` Otherwise Windows pops up the "What program do you want to use to open this?" dialog.
Sun, 21 Jan 2018 16:46:31 -0500 test: conditionalize blackbox output for Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 21 Jan 2018 16:46:31 -0500] rev 3485
test: conditionalize blackbox output for Windows
Mon, 05 Feb 2018 14:36:34 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 05 Feb 2018 14:36:34 +0100] rev 3484
branching: merge with stable
Mon, 05 Feb 2018 20:58:46 +0900 compat: add wrapper for logcmdutil functions stable
Yuya Nishihara <yuya@tcha.org> [Mon, 05 Feb 2018 20:58:46 +0900] rev 3483
compat: add wrapper for logcmdutil functions These classes and functions were bulk-renamed at hg c8e2d6ed1f9e.
Mon, 22 Jan 2018 18:35:50 +0530 evolve: store the revs to be processed in the evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 18:35:50 +0530] rev 3482
evolve: store the revs to be processed in the evolvestate This will help us in getting a full functional `hg evolve` where `hg evolve --continue` does not only continue one changeset.
Mon, 22 Jan 2018 18:18:11 +0530 evolve: store the replacements in the evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 18:18:11 +0530] rev 3481
evolve: store the replacements in the evolvestate This will greatly help when we will be implementing `hg evolve --abort`.
Mon, 22 Jan 2018 18:13:52 +0530 evolve: store the target category in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 18:13:52 +0530] rev 3480
evolve: store the target category in evolvestate
Mon, 22 Jan 2018 17:54:27 +0530 evolvecmd: use the evolvestate object passed as argument in _solveunstable
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 17:54:27 +0530] rev 3479
evolvecmd: use the evolvestate object passed as argument in _solveunstable Earlier if get a merge conflict, we used to initialize a new evolvestate object and used to save it. Let's start using the state object which we get in as argument as that will contain more data about the state.
Mon, 22 Jan 2018 17:44:57 +0530 evolvecmd: pass evolvestate object to _solve* functions
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 17:44:57 +0530] rev 3478
evolvecmd: pass evolvestate object to _solve* functions This patchs adds an argument evolvestate to _solve* functions. This will help us in having one evolvestate object which we can pass around various functions and keep storing what's going on.
Mon, 22 Jan 2018 17:29:56 +0530 evolve: create a state object in all case
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 17:29:56 +0530] rev 3477
evolve: create a state object in all case Let's create a state object even when we are not in the continue mode. This will help us passing the state object to rest of the functions.
Sun, 04 Feb 2018 14:29:18 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 04 Feb 2018 14:29:18 +0100] rev 3476
branching: merge with stable
Fri, 02 Feb 2018 13:59:33 +0530 grab: preserve phase of the grabbed changeset
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 02 Feb 2018 13:59:33 +0530] rev 3475
grab: preserve phase of the grabbed changeset This patch fixes the wrong behavior of loosing secret phase of the grabbed changeset.
Fri, 02 Feb 2018 13:45:47 +0530 tests: add a test showing grabbing of secret changeset turn it into draft
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 02 Feb 2018 13:45:47 +0530] rev 3474
tests: add a test showing grabbing of secret changeset turn it into draft This patch adds a test showing wrong behavior of `hg grab` command which looses the secret phase while grabbing a secret changeset.
Fri, 02 Feb 2018 15:37:00 +0530 grab: add grab info to cmdutil.afterresolvedstates
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 02 Feb 2018 15:37:00 +0530] rev 3473
grab: add grab info to cmdutil.afterresolvedstates This will help us in showing how to continue the grab when user resolves all the conflicts.
Sat, 27 Jan 2018 21:15:27 +0530 evolve: add evolve info to cmdutil.afterresolvedstates
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 27 Jan 2018 21:15:27 +0530] rev 3472
evolve: add evolve info to cmdutil.afterresolvedstates Adding evolve info to cmdutil.afterresolvedstate will improve the ui when we run into merge conflicts while evolving. Once we resolve all the conflicts using `hg resolve`, this will show a message saying "continue: hg evolve --continue". Other extensions like rebase and shelve also use it and it's very helpful.
Mon, 29 Jan 2018 17:32:08 +0100 doc: add link to roadmap stable
Boris Feld <boris.feld@octobus.net> [Mon, 29 Jan 2018 17:32:08 +0100] rev 3471
doc: add link to roadmap Add a link to the Evolution roadmap in the main page of the documentation.
Fri, 19 Jan 2018 19:32:34 +0530 evolve: move the evolve command to evolvecmd.py
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 19:32:34 +0530] rev 3470
evolve: move the evolve command to evolvecmd.py This patch moves finishes the code movement by moving the evolve command to evolvecmd.py.
Sun, 21 Jan 2018 20:33:39 +0530 evolve: move _orderrevs() function evolvecmd.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 21 Jan 2018 20:33:39 +0530] rev 3469
evolve: move _orderrevs() function evolvecmd.py _orderrevs() is a function which is used to order the revs in which the instability needs to be solved if we have multiple revisions to resolve.
Sun, 21 Jan 2018 20:28:06 +0530 evolve: move builddependencies() and _singlesuccessor() to utility module
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 21 Jan 2018 20:28:06 +0530] rev 3468
evolve: move builddependencies() and _singlesuccessor() to utility module The builddependencies() and _singlesuccessor() function are very useful functions and can be used at a lot of places. They are also used in topic extension also, so let's move them to utility. However moving them to utility won't help anything in the topic extension.
Fri, 19 Jan 2018 17:29:48 +0530 utility: move MultipleSuccessorsError from __init__.py
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 17:29:48 +0530] rev 3467
utility: move MultipleSuccessorsError from __init__.py The MultipleSuccessorsError is required in multiple modules in upcoming patches, so let's move it to utility first.
Fri, 19 Jan 2018 16:44:00 +0530 evolvecmd: move more core from __init__.py to evolvecmd.py
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 16:44:00 +0530] rev 3466
evolvecmd: move more core from __init__.py to evolvecmd.py We are done with moving helper code, we will now be moving the evolve command in the new module.
Fri, 19 Jan 2018 16:00:21 +0530 evolvecmd: move code from __init__.py to evolvecmd.py
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 16:00:21 +0530] rev 3465
evolvecmd: move code from __init__.py to evolvecmd.py
Fri, 19 Jan 2018 15:55:38 +0530 evolvecmd: move more code from __init__.py to evolvecmd.py
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 15:55:38 +0530] rev 3464
evolvecmd: move more code from __init__.py to evolvecmd.py We are now very close to have most of the evolve related code in evolvecmd.py.
Fri, 19 Jan 2018 15:22:28 +0530 evolvecmd: move more chunks of code from __init__.py to evolvecmd.py
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 15:22:28 +0530] rev 3463
evolvecmd: move more chunks of code from __init__.py to evolvecmd.py
Fri, 19 Jan 2018 15:04:12 +0530 evolvecmd: move more functions from __init__.py to evolvecmd.py
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 15:04:12 +0530] rev 3462
evolvecmd: move more functions from __init__.py to evolvecmd.py If things are looking ugly, hold on.
Fri, 19 Jan 2018 14:42:46 +0530 evolvecmd: introduce a new module to handle `hg evolve` related code
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 14:42:46 +0530] rev 3461
evolvecmd: introduce a new module to handle `hg evolve` related code __init__.py is to cluttered with wrapping and all, it's better to move code related to evolve command to new a module which will help us in great refactoring and introducing nice and better flow of data through functions. There is a temporary import cycle is introduced which will be fixed in the series.
Thu, 18 Jan 2018 16:57:19 +0530 evolve: remove not required calls to phases.retractboundary()
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 18 Jan 2018 16:57:19 +0530] rev 3460
evolve: remove not required calls to phases.retractboundary() To make sure phases are preserved during evolve, we started using the phases.new-commit config option. Now we don't need to call phases.retractboundary(). Let's remove the redundant code.
Tue, 16 Jan 2018 17:14:32 +0530 evolve: store the replacements occurred during `hg evolve` at top level
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 16 Jan 2018 17:14:32 +0530] rev 3459
evolve: store the replacements occurred during `hg evolve` at top level This patch starts storing the replacements made during the `hg evolve` command. The current dictionary is not used anywhere but will be used in future as we want to introduce abort functionality, so we want to delay writing of obsmarkers, storing these exchanges in statefile etc.
Sat, 27 Jan 2018 16:13:19 +0530 evolve: make the _solve* functions return a tuple
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 27 Jan 2018 16:13:19 +0530] rev 3458
evolve: make the _solve* functions return a tuple This patch makes _solve* functions return a tuple which will contain information about whether we were able to solve the instability and if yes, then what was the newnode. For more details about tuple, look the fn docs added. There was some refactoring required in next command because of change in return values. This also leds to omitting the wdir update message in case of dry-run which is good.
Wed, 17 Jan 2018 19:12:32 +0530 evolvestate: rename the file to state.py and class name to cmdstate
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 17 Jan 2018 19:12:32 +0530] rev 3457
evolvestate: rename the file to state.py and class name to cmdstate The evolvestate.py and the evolvestate class in it were introduced to help `hg evolve` grow continue and abort options. But the class and it's API can be easily used to store state information for other state files like we stored the information for grab state in the previous commit. Let's rename the the file and class.
Fri, 26 Jan 2018 17:55:16 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 26 Jan 2018 17:55:16 +0100] rev 3456
branching: merge with stable
Wed, 24 Jan 2018 09:55:12 -0800 update: show "use 'hg evolve' to..." hint iff evolve command enabled stable
Martin von Zweigbergk <martinvonz@google.com> [Wed, 24 Jan 2018 09:55:12 -0800] rev 3455
update: show "use 'hg evolve' to..." hint iff evolve command enabled Before this patch, one had to enable *all* commands (by including "allnewcommands" in the experimental.evolution config) for the hint to be shown.
Thu, 25 Jan 2018 17:29:21 -0800 obslog: drop period from summary line in accordance with convention
Martin von Zweigbergk <martinvonz@google.com> [Thu, 25 Jan 2018 17:29:21 -0800] rev 3454
obslog: drop period from summary line in accordance with convention
Thu, 11 Jan 2018 20:03:20 +0530 grab: add a command to grab a commit and update to it
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 11 Jan 2018 20:03:20 +0530] rev 3453
grab: add a command to grab a commit and update to it This patch adds anew command `hg grab` which will pick a commit and put it on the top of the working directory parent and updates to it. Earlier grab was an alias for `hg rebase -r <rev> -d .` which is now deleted to make sure `hg grab` resolves to the grab command and that alias. Continuing interrupted grab functionality is also there using the evolvestate class. Tests are also added for the new introduced command.
Mon, 22 Jan 2018 14:10:59 +0530 amend: query the wdir parent after taking lock (issue5266) stable
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 14:10:59 +0530] rev 3452
amend: query the wdir parent after taking lock (issue5266) If we query wdir parent without taking a lock, that can lead to bugs because the wdir parent can change is another process has changed the wdir parent. One such example of this was issue 5266. When a user is running amend and that amend is waiting for commit message, the user runs another amend which waits for lock. The second amend is waiting for lock, but has already read the description from the parent of working directory to use. Once the first amend completes the wdir parent changes but we still have the description from an old wdir parent. This patch fixes the bug by querying the description after taking lock. Attempts were made to add test for this but the results were unstable because they depend on time in which lock is released.
Mon, 22 Jan 2018 13:44:32 +0530 fold: make sure we move bookmarks after folding (issue5772) stable
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 13:44:32 +0530] rev 3451
fold: make sure we move bookmarks after folding (issue5772) The rewriteutil.rewrite() API currently only handles moving bookmark from a old node to new node. In case on fold, we have multiple old nodes, from where a bookmark move is possible. The rewriteutil.rewrite() API is used by another commands also and it's not good to plug in some logic there. This patch handles bookmark movement from all the old nodes to the new node.
Mon, 22 Jan 2018 13:33:58 +0530 tests: add a test showing bookmark not moving in-case of `hg fold` stable
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 13:33:58 +0530] rev 3450
tests: add a test showing bookmark not moving in-case of `hg fold` This patch adds a test showing that bookmark is not moved when doing `hg fold`. This test represents issue 5772.
Wed, 24 Jan 2018 15:20:29 +0100 branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Jan 2018 15:20:29 +0100] rev 3449
branching: merge stable back into default
(0) -3000 -1000 -120 +120 +1000 tip