Wed, 11 Apr 2018 07:23:34 +0200 patch: offer the user a chance to fix the patch if it fails to apply
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 11 Apr 2018 07:23:34 +0200] rev 3661
patch: offer the user a chance to fix the patch if it fails to apply The experience is still not great, but better than purely dropping the changes.
Sun, 18 Mar 2018 23:48:06 +0530 amend: add a new flag `--patch` to `hg amend`
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Mar 2018 23:48:06 +0530] rev 3660
amend: add a new flag `--patch` to `hg amend` This patch adds a new flag `--patch` to `hg amend` which pops up an editor with the patch of working directory parent which you can change, and when you exit the editor the patch with changes is applied to current working directory with old changeset being obsoleted in favour of new one created by the applied patch. If supplied filenames, only those filenames are present in the popped editor and rest files stay the same way in the commit as they were. The extension of the file which opens up in editor is '.diff', we cannot have it as '.patch' as there will be develwarns related to that. We need to change to patch core and undo some change to achieve this. The implementation does not use any core API rather it has picked chunks from API which are required. One main reason to not use core import API is that we have to change wdir parent before using patch.patch() which I will like to avoid to make sure we handle merge cases too. While writing this patch I have spend lot of time try to use internal API's to work for this but none of them served the purpose well. If I have time in future and work on similar problem again, I am going to write better high-level API's which uses patchstore to achieve this. A new test file test-amend-patch.t which contains a lot of testing of the feature.
Thu, 12 Apr 2018 13:30:28 +0800 stablerangecache: include units in ui.progress() calls
Anton Shestakov <av6@dwimlabs.net> [Thu, 12 Apr 2018 13:30:28 +0800] rev 3659
stablerangecache: include units in ui.progress() calls
Thu, 12 Apr 2018 13:28:30 +0800 stablerange: include units in ui.progress() calls
Anton Shestakov <av6@dwimlabs.net> [Thu, 12 Apr 2018 13:28:30 +0800] rev 3658
stablerange: include units in ui.progress() calls
Fri, 06 Apr 2018 20:00:43 +0530 tests: add test demonstarting issue5833 is fixed
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 06 Apr 2018 20:00:43 +0530] rev 3657
tests: add test demonstarting issue5833 is fixed Previous patch which fixed issue5832 also fixed issue5833 as the root cause for both was same. This patch adds test of issue5833 as well. CHANEGLOG entry is also added for the fixed issues.
Fri, 06 Apr 2018 20:13:27 +0530 utility: convert node from MultipleSuccessorsError to rev numbers (issue5832)
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 06 Apr 2018 20:13:27 +0530] rev 3656
utility: convert node from MultipleSuccessorsError to rev numbers (issue5832) utility.builddependencies() deals with rev numbers but MultipleSuccessorsError returns nodeid which breaks the function and also breaks instability resolution. Previou patch demonstrate the breakage. This patch makes sure we convert those nodeids to rev numbers before processing ahead.
Fri, 06 Apr 2018 15:35:57 +0530 tests: add a test demonstarting issue5832 traceback
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 06 Apr 2018 15:35:57 +0530] rev 3655
tests: add a test demonstarting issue5832 traceback The traceback will be fixed in upcoming patches.
Fri, 06 Apr 2018 14:56:27 +0530 CHANGELOG: add an entry about `hg evolve --abort`
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 06 Apr 2018 14:56:27 +0530] rev 3654
CHANGELOG: add an entry about `hg evolve --abort` Previous patches added a new flag `--abort` for `hg evolve` which aborts an interrupted evolve. Currently this only works for orphan resolution cases which is very common and most people use `evolve` for that. So let's add an entry about that.
Thu, 29 Mar 2018 17:34:51 +0530 evolve: restore bookmarks correctly after `hg evolve --abort`
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 29 Mar 2018 17:34:51 +0530] rev 3653
evolve: restore bookmarks correctly after `hg evolve --abort` This patch adds logic to store bookmark movements in evolvestate class and restore bookmarks to their original place if `hg evolve --abort` is called.
Thu, 29 Mar 2018 17:42:32 +0530 topic-ext: restrict the format of topic names
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 29 Mar 2018 17:42:32 +0530] rev 3652
topic-ext: restrict the format of topic names This patch restrict the format of topic names to make sure they consist only of alphanumeric, '_' and '-' characters.
Fri, 06 Apr 2018 23:42:47 +0530 serverminitopic: wrap context.changectx.branch instead of context.changectx
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 06 Apr 2018 23:42:47 +0530] rev 3651
serverminitopic: wrap context.changectx.branch instead of context.changectx Recently some changes in core resulted in this wrapping of class leading to an infinite recursion. Let's wrap the particular function instead of wrapping the whole command. This fixes test-minitopic.t which was breaking.
Fri, 06 Apr 2018 17:53:41 +0200 templatekw: remove obsfatedata templatekw
Boris Feld <boris.feld@octobus.net> [Fri, 06 Apr 2018 17:53:41 +0200] rev 3650
templatekw: remove obsfatedata templatekw Individuals fields are available in core as single template functions.
Thu, 29 Mar 2018 13:01:05 -0700 evolve: do not exit 1 when there are no troubled changesets (issue5823)
Kyle Lippincott <spectral@google.com> [Thu, 29 Mar 2018 13:01:05 -0700] rev 3649
evolve: do not exit 1 when there are no troubled changesets (issue5823) There are possibly other cases we also do not wish to exit non-zero for in this function, but I did not analyze them closely and am just looking at resolving issue5823.
Fri, 06 Apr 2018 17:54:58 +0200 changelog: add an entry about the memory fixes
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Apr 2018 17:54:58 +0200] rev 3648
changelog: add an entry about the memory fixes
Fri, 06 Apr 2018 14:37:22 +0800 safeguard: use self instead of repo in noautopublishrepo.checkpush()
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Apr 2018 14:37:22 +0800] rev 3647
safeguard: use self instead of repo in noautopublishrepo.checkpush() Referring to repo here was somehow preventing it from being garbage-collected (important in hgweb, where currently every request gets a new repo).
Fri, 06 Apr 2018 14:36:36 +0800 stablerangecache: use self instead of repo in stablerangerepo.stablerange()
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Apr 2018 14:36:36 +0800] rev 3646
stablerangecache: use self instead of repo in stablerangerepo.stablerange() Referring to repo here was somehow preventing it from being garbage-collected (important in hgweb, where currently every request gets a new repo).
Fri, 06 Apr 2018 14:26:24 +0800 obscache: use self instead of repo in obscacherepo.updatecaches()
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Apr 2018 14:26:24 +0800] rev 3645
obscache: use self instead of repo in obscacherepo.updatecaches() Referring to repo here was somehow preventing it from being garbage-collected (important in hgweb, where currently every request gets a new repo).
Wed, 04 Apr 2018 16:29:48 +0200 templatekw: fix templatedata for 46
Boris Feld <boris.feld@octobus.net> [Wed, 04 Apr 2018 16:29:48 +0200] rev 3644
templatekw: fix templatedata for 46
Sat, 31 Mar 2018 11:53:09 +0200 style: fix a couple of pyflakes complains
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 31 Mar 2018 11:53:09 +0200] rev 3643
style: fix a couple of pyflakes complains
Thu, 29 Mar 2018 16:43:28 +0530 evolve: add a `--abort` flag for `hg evolve` command
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 29 Mar 2018 16:43:28 +0530] rev 3642
evolve: add a `--abort` flag for `hg evolve` command This patch adds a new flag `--abort` to `hg evolve` command which will abort the interrupted evolve going on undoes the changes created by the evolve command till now. The changes are bookmark movements, creation of evolved commits, obsolete the old commits in favor of evolved commits. In case when user changed things while the interrupted evolve, like did some actions which created a new commit on top of evolved commits, or changed phase of evolved commits to public, the evolve fails to abort as we should not strip out the new commit formed by user neither we can strip the public changeset. The abort fails and tell user to use `hg evolve --stop` instead. Right now bookmark movement is broken, and will be fixed in upcoming patches. Tests are added for the new flag.
Thu, 29 Mar 2018 16:38:00 +0530 evolve: don't allow updating or commiting when there is interrupted evolve
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 29 Mar 2018 16:38:00 +0530] rev 3641
evolve: don't allow updating or commiting when there is interrupted evolve We should make things simple in the starting and restrict user from doing things which can lead to problems. This is same as the rebase behavior.
Wed, 28 Mar 2018 17:47:49 +0530 evolve: internationalize the entry of --list in hg evolve help
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 17:47:49 +0530] rev 3640
evolve: internationalize the entry of --list in hg evolve help
Wed, 28 Mar 2018 17:37:10 +0530 evolve: add evolvestate as an argument to _finalizerelocate()
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 17:37:10 +0530] rev 3639
evolve: add evolvestate as an argument to _finalizerelocate() This will help us to store bookmark changes to evolvestate to revert them in case when `hg evolve --abort` is called.
Wed, 28 Mar 2018 17:33:54 +0530 evolve: add evolvestate as an argument to evolvecmd.relocate()
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 17:33:54 +0530] rev 3638
evolve: add evolvestate as an argument to evolvecmd.relocate() This will help us in passing it to _finalizerelocate() and store the bookmark changes which happend.
Wed, 28 Mar 2018 17:13:08 +0530 tests: add test about handling phase-divergent merges
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 17:13:08 +0530] rev 3637
tests: add test about handling phase-divergent merges We don't handle phase-divergent merges and we should. Upcoming patches will add the ability to handle them.
Wed, 28 Mar 2018 14:11:13 +0530 evolve: show a message when evolution leads to no changes to commit
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 14:11:13 +0530] rev 3636
evolve: show a message when evolution leads to no changes to commit In case of orphan resolution, evolution may result in no changes to commit. This patch adds a use message in such cases. This is same as the rebase behavior.
Wed, 28 Mar 2018 13:48:34 +0530 evolve: pass the instability category to relocate() and _finalizerelocate()
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 13:48:34 +0530] rev 3635
evolve: pass the instability category to relocate() and _finalizerelocate() This patch adds category argument to relocate() and _finalizerelocate() functions to take the type of instability which we are processing so that we perform actions accordingly.
Wed, 28 Mar 2018 12:56:35 +0530 tests: add more tests for solving phase-divergence using `hg evolve`
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 12:56:35 +0530] rev 3634
tests: add more tests for solving phase-divergence using `hg evolve` This patch adds more tests for resolving phase-divergence caused due to fold or split using `hg evolve` command. The resolution in case of split is not very good and will be fixed in upcoming patches
Sat, 24 Mar 2018 17:21:42 +0530 evolve: handle interrupted phase-divergence resolution gracefully
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Mar 2018 17:21:42 +0530] rev 3633
evolve: handle interrupted phase-divergence resolution gracefully This patch adds logic to handle the interrupted phase-divergence resolution by `hg evolve` command gracefully. We first complete the relocation of the changeset and then do the divergence resolution. Previous functions moved required code separate fucntions so that we can use them here.
Sat, 24 Mar 2018 16:41:14 +0530 evolve: move logic to resolve phase-divergence in a new function
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Mar 2018 16:41:14 +0530] rev 3632
evolve: move logic to resolve phase-divergence in a new function This patch moves logic which does the revert and create a commit on top of public changeset because we need to repeat that logic while handling continuation of `hg evolve` when there are conflicts while rebasing the phase-divergent changeset.
Sat, 24 Mar 2018 16:38:03 +0530 evolve: store the precursor of phase-divergent in evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Mar 2018 16:38:03 +0530] rev 3631
evolve: store the precursor of phase-divergent in evolvestate This patch makes `hg evolve` store the precursor of phase-divergent changeset in evolvestate so that we don't need to calculate that again.
Sat, 24 Mar 2018 13:17:05 +0530 evolve: move logic to complete interrupted relocation to new fn
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Mar 2018 13:17:05 +0530] rev 3630
evolve: move logic to complete interrupted relocation to new fn This moves logic which completed the interrupted relocation to it's own separate function as we will need that function in continuing phase-divergence and content-divergence too.
Sat, 24 Mar 2018 12:58:12 +0530 evolve: move logic to complete interrupted orphan resolution to new fn
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 24 Mar 2018 12:58:12 +0530] rev 3629
evolve: move logic to complete interrupted orphan resolution to new fn This patch moves logic which completes an interrupted orphan resolution to it's own new function. We will defining such functions for completing phase-divergence and content-divergence too.
Fri, 23 Mar 2018 19:36:08 +0530 evolve: write data to evolvestate in case on conflicts in phase-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 19:36:08 +0530] rev 3628
evolve: write data to evolvestate in case on conflicts in phase-divergence This patch makes phase-divergence resolution write data to evolvestate instead of graftstate. The `evolve --continue` handling of phase-divergence is broken which will be done in upcoming patches.
Fri, 23 Mar 2018 19:16:25 +0530 evolve: explicitly turn revs to list before storing into evolvestate
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 19:16:25 +0530] rev 3627
evolve: explicitly turn revs to list before storing into evolvestate The cbor library which we are using cannot handle encoding and decoding Python sets, and revs was set there. Let's convert revs explicitly to list to make sure we don't try writing sets.
Fri, 23 Mar 2018 18:58:19 +0530 tests: add tests of content+parent change creating phase-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 18:58:19 +0530] rev 3626
tests: add tests of content+parent change creating phase-divergence This patch adds tests which shows handling of phase divergence cases by `hg evolve` command which involved content+parent change. The conflicts case is not handled and will be fixed in upcoming patches.
Fri, 23 Mar 2018 18:28:37 +0530 tests: show first line of commit message in test-evolve-phase-divergence.t
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 18:28:37 +0530] rev 3625
tests: show first line of commit message in test-evolve-phase-divergence.t This patch adds 'firstline' filter to description in the log template.
Fri, 23 Mar 2018 17:49:26 +0530 evolve: make sure bookmarks are moved after phase-divergence resolution
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 17:49:26 +0530] rev 3624
evolve: make sure bookmarks are moved after phase-divergence resolution This patch adds logic to move bookmarks from the rebased node to the phase-divergence resolved node.
Fri, 23 Mar 2018 17:46:46 +0530 evolve: use the new rebased changeset to resolve phase-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 17:46:46 +0530] rev 3623
evolve: use the new rebased changeset to resolve phase-divergence When there is a parent change in phase-divergence, `hg evolve` first rebases the diveregent changeset on parent of public changeset and then continue the resolution of phase-divergence *but* we used to continue with the old divergent changeset rather than the new rebased one. This patch makes sure we use the new rebased changeset to proceed with the resolution. Tests changes shows that it fixes things which were broken earlier.
Fri, 23 Mar 2018 17:21:09 +0530 evolvecmd: add a detailed comment and some newlines
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 17:21:09 +0530] rev 3622
evolvecmd: add a detailed comment and some newlines This patch adds a detailed comment on a chunk and some newlines to make things look better and more understandable for upcoming patches.
Fri, 23 Mar 2018 17:20:20 +0530 tests: add one more test case about handling of phase-divergence by evolve
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 17:20:20 +0530] rev 3621
tests: add one more test case about handling of phase-divergence by evolve This patch adds a test case when phasedivergence is caused by rebase command and there is parent change involved. As the tests show, we are not handling things correctly here. Upcoming patches will fix that. Fixing things in later patches showed there was a wrong case in one another test which will be fixed by later patches, so let's add description on why that test is wrong in this patch.
Fri, 23 Mar 2018 15:27:26 +0530 tests: add more tests for handling of phase divergence by `hg evolve`
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 15:27:26 +0530] rev 3620
tests: add more tests for handling of phase divergence by `hg evolve` This patch adds more tests related to handling of phase-divergence by `hg evolve` command.
Fri, 23 Mar 2018 13:16:42 +0530 tests: temporary delete the merge test of handling phase divergence
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 13:16:42 +0530] rev 3619
tests: temporary delete the merge test of handling phase divergence This patch temporary deletes the merge test of handling phase divergence by `hg evolve` command to that other important tests can be plugged in before this. This will make adding more tests easy. As I say, this is temporary to ease out adding more tests, the test will be added back.
Fri, 30 Mar 2018 19:38:55 +0200 tests: various comment on test-evolve-phase-divergence
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 30 Mar 2018 19:38:55 +0200] rev 3618
tests: various comment on test-evolve-phase-divergence
Fri, 30 Mar 2018 19:37:06 +0200 tests: make test-evolve-phase-divergence more descriptive
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 30 Mar 2018 19:37:06 +0200] rev 3617
tests: make test-evolve-phase-divergence more descriptive This patch adds description to what each part is doing in test-evolve-phase-divergence.t and some commands which should be used to analyze the divergence before resolving that.
Fri, 30 Mar 2018 20:26:54 +0200 compat: use updateresult API if available
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 30 Mar 2018 20:26:54 +0200] rev 3616
compat: use updateresult API if available The status return is no longer a tuple, we access attribute instead.
Fri, 30 Mar 2018 20:13:06 +0200 compat: provide an explicit default value to the 'odiff' config
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 30 Mar 2018 20:13:06 +0200] rev 3615
compat: provide an explicit default value to the 'odiff' config There is a devel warning about this now.
Thu, 29 Mar 2018 19:47:48 +0200 compat: keep passing arguments as keyword argument
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 29 Mar 2018 19:47:48 +0200] rev 3614
compat: keep passing arguments as keyword argument Otherwise, This break with new changes in upstream Mercurial.
Thu, 29 Mar 2018 18:34:32 +0200 compat: search for stringmatcher in the new location
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 29 Mar 2018 18:34:32 +0200] rev 3613
compat: search for stringmatcher in the new location More of util has been split into sub modules.
Thu, 29 Mar 2018 14:13:13 +0200 rebase: update the rebase wrapping to works with hg 4.6
Boris Feld <boris.feld@octobus.net> [Thu, 29 Mar 2018 14:13:13 +0200] rev 3612
rebase: update the rebase wrapping to works with hg 4.6 Mercurial core commit bd0086bd3af4 removed _makeextrafn hence breaking our wrapping. Update the code to wrap rebaseruntime directly in a way that's compatible with hg 4.1+.
Fri, 23 Mar 2018 09:08:21 -0700 compat: call current obsolete.createmarkers(), not one from load time stable
Martin von Zweigbergk <martinvonz@google.com> [Fri, 23 Mar 2018 09:08:21 -0700] rev 3611
compat: call current obsolete.createmarkers(), not one from load time Other extensions may wrap obsolete.createmarkers(). If they do, we should call their wrapped version. However, since f61a23a84dac (compat: add wrapper for obsolete.createmarkers() that accepts "operation" arg, 2018-03-16), we started storing the version of the function as it was when our compat module was loaded. This broke an extension we use internally at Google.
Fri, 23 Mar 2018 12:44:06 +0530 tests: rename test-evolve-bumped to test-evolve-phase-divergence.t
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 12:44:06 +0530] rev 3610
tests: rename test-evolve-bumped to test-evolve-phase-divergence.t While I was here, I added a heading to test mentioning what the test if for.
Fri, 23 Mar 2018 12:39:00 +0530 evolve: replace bumped in function name to phasedivergence
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 12:39:00 +0530] rev 3609
evolve: replace bumped in function name to phasedivergence bumped was the old name of phasedivergence. Lets replace with its new name so that we can forget the old one.
Fri, 23 Mar 2018 12:35:37 +0530 evolve: drop duplicate import of rewriteutil._bookmarksupdater
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 12:35:37 +0530] rev 3608
evolve: drop duplicate import of rewriteutil._bookmarksupdater
Thu, 22 Mar 2018 10:39:18 +0100 obslog: more 4.1 code compatibility drop
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 10:39:18 +0100] rev 3607
obslog: more 4.1 code compatibility drop
Thu, 22 Mar 2018 10:38:01 +0100 template: drop some 4.1 compatibility code
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 10:38:01 +0100] rev 3606
template: drop some 4.1 compatibility code Simplify all the things.
Thu, 22 Mar 2018 10:35:27 +0100 checkheads: drop upstreamed code
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 10:35:27 +0100] rev 3605
checkheads: drop upstreamed code Mercurial 4.2 has all the code that used to live in the evolve extensions so we can drop it now.
Thu, 22 Mar 2018 10:34:44 +0100 obslog: cleanup patch handling after 4.1 compat drop
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 10:34:44 +0100] rev 3604
obslog: cleanup patch handling after 4.1 compat drop We can remove some of your compatibility code.
Thu, 22 Mar 2018 10:25:01 +0100 packaging: further mark 4.1 support as dropped
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 10:25:01 +0100] rev 3603
packaging: further mark 4.1 support as dropped
Thu, 22 Mar 2018 10:05:50 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 10:05:50 +0100] rev 3602
branching: merge with stable
Thu, 22 Mar 2018 09:53:42 +0100 tests: extend the globing to the user name stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 09:53:42 +0100] rev 3601
tests: extend the globing to the user name Silly me.
Thu, 22 Mar 2018 01:20:03 +0100 branching: close mercurial-4.1 test branch mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 01:20:03 +0100] rev 3600
branching: close mercurial-4.1 test branch
Thu, 15 Mar 2018 00:09:24 +0530 evolve: kill `--obsolete` and `--old-obsolete` flags for graft
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 15 Mar 2018 00:09:24 +0530] rev 3599
evolve: kill `--obsolete` and `--old-obsolete` flags for graft Evolve extension used to add the couple of flags to `hg graft` command for reasons I don't know but they were deprecated. For the functionality of `hg graft --old-obsolete`, we have `hg grab` now which can do that. One more reason to kill this is that we have logic to parse the graftstate, whereas in core, we are going to change how state files are read and write. Tweaked the tests a bit to use `hg grab` instead of these flags to make rest of the test output consistent. Replaced an entry of `hg graft -O` in doc by `hg grab`.
Thu, 22 Mar 2018 00:56:48 +0100 compat: drop support for Mercurial 4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 00:56:48 +0100] rev 3598
compat: drop support for Mercurial 4.1 This version is over 1 year old and we are dropping support for it.
Thu, 22 Mar 2018 00:50:11 +0100 packaging: mark versiond as devel versions
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 00:50:11 +0100] rev 3597
packaging: mark versiond as devel versions This will help prevent confusion when installing a non-tagged version.
Thu, 22 Mar 2018 00:49:04 +0100 packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 00:49:04 +0100] rev 3596
packaging: merge stable back into default Version have been released.
Thu, 22 Mar 2018 00:47:09 +0100 packaging: mark version as devel version stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 00:47:09 +0100] rev 3595
packaging: mark version as devel version This will help prevent confusion when installing non-tagged version.
Thu, 22 Mar 2018 00:45:47 +0100 Added tag 7.3.0 for changeset e4ac2e2c2086 stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 00:45:47 +0100] rev 3594
Added tag 7.3.0 for changeset e4ac2e2c2086
Wed, 21 Mar 2018 16:35:18 +0100 test-compat: merge mercurial-4.2 into mercurial-4.1 mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 16:35:18 +0100] rev 3593
test-compat: merge mercurial-4.2 into mercurial-4.1
Wed, 21 Mar 2018 16:32:54 +0100 test-compat: merge mercurial-4.3 into mercurial-4.2 mercurial-4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 16:32:54 +0100] rev 3592
test-compat: merge mercurial-4.3 into mercurial-4.2
Wed, 21 Mar 2018 16:18:31 +0100 test-compat: merge mercurial-4.4 into mercurial-4.3 mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 16:18:31 +0100] rev 3591
test-compat: merge mercurial-4.4 into mercurial-4.3
Wed, 21 Mar 2018 16:06:17 +0100 test-compat: merge stable into mercurial-4.4 mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 16:06:17 +0100] rev 3590
test-compat: merge stable into mercurial-4.4
Wed, 21 Mar 2018 16:03:46 +0100 branching: merge future 7.3.0 into stable stable 7.3.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 16:03:46 +0100] rev 3589
branching: merge future 7.3.0 into stable Release belong to stable
Wed, 21 Mar 2018 15:57:53 +0100 tests: update test output for the stable branch stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:57:53 +0100] rev 3588
tests: update test output for the stable branch
Wed, 21 Mar 2018 15:34:29 +0100 debian: add version 7.3.0 to changelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:34:29 +0100] rev 3587
debian: add version 7.3.0 to changelog
Wed, 21 Mar 2018 15:32:59 +0100 packaging: update version numbers
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:32:59 +0100] rev 3586
packaging: update version numbers
Wed, 21 Mar 2018 15:30:06 +0100 changelog: prepare release 7.3.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:30:06 +0100] rev 3585
changelog: prepare release 7.3.0
Wed, 21 Mar 2018 15:36:10 +0100 tests: updated tested with version
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:36:10 +0100] rev 3584
tests: updated tested with version
Wed, 21 Mar 2018 17:03:55 +0530 __init__: show some internationalization love
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Mar 2018 17:03:55 +0530] rev 3583
__init__: show some internationalization love
Wed, 21 Mar 2018 17:04:41 +0530 evolvecmd: show some internationalization love
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Mar 2018 17:04:41 +0530] rev 3582
evolvecmd: show some internationalization love Some outputs are not internationalized because I doubt that they are gonna stay here for long.
Wed, 21 Mar 2018 16:52:46 +0530 utility: make sure prompt text is internationalized
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Mar 2018 16:52:46 +0530] rev 3581
utility: make sure prompt text is internationalized This patch internationlize the prompt text by passing the into mercurial.i18n._
Wed, 21 Mar 2018 17:59:15 +0100 test: do not use revision number
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 17:59:15 +0100] rev 3580
test: do not use revision number This get confused with older version.
Wed, 21 Mar 2018 19:30:51 +0100 compat: use mergetoolopts from commands.py
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 19:30:51 +0100] rev 3579
compat: use mergetoolopts from commands.py Mercurial <= 4.2 do not have cmdutils.py yet.
Wed, 21 Mar 2018 15:24:51 +0100 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:24:51 +0100] rev 3578
branching: merge stable into default Some bugfix that we could use here (also getting ready for a release).
Tue, 20 Mar 2018 18:41:31 +0530 evolve: add a `--stop` flag for `hg evolve` command
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 20 Mar 2018 18:41:31 +0530] rev 3577
evolve: add a `--stop` flag for `hg evolve` command This patch adds a `--stop` flag for `hg evolve` command. The stop flag lets you stop the evolution from where you are and let you move to other things if you want. This fuctionality is great as user can decide to resolve conflicts later on, stop the command execution, do something else and get back once they has time or care about resolving them. As implementation details, it clears the evolvestate, updates to the parent of working directory clearing the uncommitted changes which also deletes the mergestate. A new test file test-evolve-stop.t is added with tests of the new flag added.
Mon, 19 Mar 2018 15:20:40 -0700 obsexchange: make compatible with some unreleased 4.5 versions
Martin von Zweigbergk <martinvonz@google.com> [Mon, 19 Mar 2018 15:20:40 -0700] rev 3576
obsexchange: make compatible with some unreleased 4.5 versions We don't generally care to be compatible with unreleased versions of hg, but this is just a one-line change to be compatible with a range of commits before 158d4ecc03c8 (wireprotoserver: move all wire protocol handling logic out of hgweb, 2018-03-08), so hopefull it can be worth it.
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.
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.
(0) -3000 -1000 -120 +120 +1000 tip