Mon, 19 Mar 2018 15:46:17 -0700 compat: make override of createmarkers work on wrapped function
Martin von Zweigbergk <martinvonz@google.com> [Mon, 19 Mar 2018 15:46:17 -0700] rev 3575
compat: make override of createmarkers work on wrapped function If createmarkers() has been wrapped using functools.partial(), the __code__ attribute won't exist. Fix by unwrapping partial functions. I tried to find another attribute to use as proxy for the "__code__.co_argcount < 6", but there were no new functions or similar added in that commit.
Mon, 19 Mar 2018 11:18:47 -0700 previous/next: add -m short form for --merge
Martin von Zweigbergk <martinvonz@google.com> [Mon, 19 Mar 2018 11:18:47 -0700] rev 3574
previous/next: add -m short form for --merge This matches core's option to `hg update`. This patch also covers `hg next`, but test-check-commit.t only lets me mention one of them.
Sun, 18 Mar 2018 17:29:32 +0530 evolve: handle stabilization of merge changeset with both parents obsoleted
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Mar 2018 17:29:32 +0530] rev 3573
evolve: handle stabilization of merge changeset with both parents obsoleted This patch adds logic to stabilize an orphan merge changeset having both parents obsoleted. The logic tries to first stabilize the merge changeset on successor of second parent and then stabilize the new changeset formed on the successor of first parent. We are stabilizing on second parent first and then to second parent to preserve the first parent's successor as first parent of the merge changeset. Conflicts can occcur and we can loose processing information, therefore we store a variable in statefile `orphanmerge` which represents whether we are processing a merge changeset with both parents obsoleted. Thanks to Pierre-Yves David for suggesting this way and helping to understand the correctness of this. More rigourous test cases for this will be added in next patch.
Mon, 19 Mar 2018 13:11:55 +0530 state: add __setitem__() for cmdstate class
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Mar 2018 13:11:55 +0530] rev 3572
state: add __setitem__() for cmdstate class Adding __setitem__() will help us in setting the value of variables stored in state files using `state[key] = value` in our code which is very convenient.
Mon, 19 Mar 2018 12:58:31 +0530 evolve: preserve the order of merge parents in `hg evolve --continue`
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Mar 2018 12:58:31 +0530] rev 3571
evolve: preserve the order of merge parents in `hg evolve --continue` This patch makes sure we preserves the order of merge parents in case of `hg evolve --continue`.
Mon, 12 Mar 2018 15:41:51 -0700 topics: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:41:51 -0700] rev 3570
topics: include "operation" metadata in obsmarkers
Mon, 12 Mar 2018 15:51:43 -0700 grab: include "operation" metadata in obsmarkers
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:51:43 -0700] rev 3569
grab: include "operation" metadata in obsmarkers
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.
(0) -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 tip