Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 29 Jun 2018 16:51:56 +0200] rev 3857
stablesort: make sure heads are processed in sorted order
changeset 72621094505f will fix some ordering issue in the `heads` revset so we
stabilise the output in advance.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 19 Jun 2018 23:21:54 +0530] rev 3856
evolve: move the bookmarks also when updating to successor (issue5923)
When we are on an obsolete node and does `hg evolve`, it updates to it's
sucessor, however it does not move the bookmark to the successor.
This patch adds logic to make sure we move the bookmark too.
Test change demonstrates the fix.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 19 Jun 2018 23:21:44 +0530] rev 3855
tests: add test to demonstrate issue5923
This will be fixed in upcoming patch.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 28 Jun 2018 17:26:16 +0200] rev 3854
changelog: add an entry about the new `evolve.interrupted` section
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 15 Jun 2018 00:50:17 +0530] rev 3853
evolve: make one missed error to align other error messages
Previous patches missed this error to change it to the new format. Let's align
this with all other messages raised by `hg evolve` command.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 15 Jun 2018 00:16:29 +0530] rev 3852
evolve: raise error.InterventionRequired instead of Abort when conflicts
error.InterventionRequired is a better error to raise in such cases.
Thanks to marmoute for noticing this.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Jun 2018 02:58:30 +0200] rev 3851
changelog: add a changelog entry about divergence resolution
We made a lots of progress there.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Jun 2018 01:39:33 +0530] rev 3850
evolve: create resolved cset on successors of current parents
While resolving content-divergence, sometimes, the parent can be obsolete and
have a successor. We should consider the successors of the parents instead of
obsolete parents as that will do something like orphan+content-divergence
resolution both at the same time which is powerful and results in a single stack
while resolving content-divergence of stacks.
The test changes demonstrates that we can now successfully evolve a content
divergent stack.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Jun 2018 01:39:11 +0530] rev 3849
tests: fix a test case to not create conflicts
This is the test case where we are testing about divergence resolution of stack
of patches. If the stack is as follows:
C1 C2
| |
B1 B2
| |
A1 A2
\/
base
And A1-A2, B1-B2 and C1-C2 are content-divergent, and merging A1-A2 results in
conflicts.
Now if you resolve conflicts and continue resoling B1-B2, the conflicts of A1-A2
will still be there. We need somehow to understand the work we has done and not
create conflicts again.
To test the evolution functionality for now, we make sure conflicts does not
occur.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Jun 2018 01:06:12 +0530] rev 3848
evolve: introduce a resolutionparent variable and store it in evolvestate
This patch introduces a resolutionparent variable which will be the parent of
final changeset after resolving content-divergent changesets.
Till now, the parent is always the parent of one of the divergent node, but now
in upcoming cases, it can be a successor of both the parents of divergent nodes.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 13 Jun 2018 18:08:57 +0530] rev 3847
evolve: introduce a dirstatedance() fn to fix dirstate after parent change
This patch introduces a dirstatedance() function which will be used after fixing
the dirstate when we change parents using repo.dirstate.setparents().
Look at docs added for more details.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 13 Jun 2018 17:15:10 +0530] rev 3846
evolve: create a new commit instead of amending one of the divergents
This patch changes the behavior of evolve command while resolving
content-divergence to create a new commit instead of amending one of the
divergent ones.
In past, I have made this change, backed out this change and now today again I
am doing this change, so let's dive in some history.
Using cmdrewrite.amend() was never a good option as that requires hack to delete
the evolvestate and also gives us less control over things. We can't make the
commit on top of different parents as that of content-divergent ones. Due to all
these, I first made this change to create a new commit instead of amending one.
But, after few days, there was flakiness observed in the tests and turned out
that we need to do some dirstate dance as repo.dirstate.setparents() does not
always fix the dirstate. That flakiness was a blocker for progress at that time
and we decided to switch to amend back so that we can have things working with
some hacks and we can later fix the implementation part.
Now, yesterday while tackling resolving content-divergence of a stack which is
as follows:
C1 C2
| |
B1 B2
| |
A1 A2
\/
base
where, A1-A2, B1-B2, C1-C2 are content-divergent with each other. Now we can
resolve A1-A2 very well because they have the same parent and let's say that
resolution leads to A3.
Now, we want to resolve B1-B2 and make the new resolution commit on top of A3 so
that we can end up something like:
C3
|
B3
|
A3
|
base
however, amending one of the divergent changesets, it's not possible to create a
commit on a different parent like A3 here without some relocation. We should
prevent relocation as that may leads to some conflicts and should change the
parent before committing.
So, looking ahead, we can't move with using amend as still using that we will
need some relocation hacks making code ugly and prone to bad behaviors, bugs.
Let's change back to creating a new commit so that we can move forward in a good
way.
About repo.dirstate.setparents() not setting the dirstate, I have researched
yesterday night about how we can do that and found out that we can use
cmdrewrite._uncommitdirstate() here. Expect upcoming patches to improve the
documentation of that function.
There are lot of test changes because of change in hash but there is no behavior
change. The only behavior change is in test-evolve-abort-contentdiv.t which is
nice because creating a new commit helps us in stripping that while aborting.
We have a lot of testing of content-divergence and no behavior change gives
enough confidence for making this change.
I reviewed the patch carefully to make sure there is no behavior change and I
suggest reviewer to do the same.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 12 Jun 2018 23:20:54 +0530] rev 3845
evolve: always order the revs to be evolved
The current code only order the revs if we are resolving orphans and not in
other case. The ordering is important when we pass --all and tackle multiple
occurence of the same instability.
Let's order the revs for each instability. There are enough test coverage of
phase-divergence and content-divergence that I feel confident doing it because
none of the test changed.
The change in test-evolve-content-divergent.t demonstrates the indeed ordering
helped.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 12 Jun 2018 21:13:02 +0530] rev 3844
tests: add test of resolution of content-divergent stacks
This patch adds a test of resolution of content-divergence stacks where a series
of changesets get mutated as two different series resulting in whole
content-divergent stacks.
As the tests shows, we are not processing the changesets in right order which
needs to be fixed first.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 12 Jun 2018 19:00:12 +0530] rev 3843
evolve: improve error messages when conflicts occur
This patch improves the error messages when conflicts occur.
First, we drop the line 'evolution failed', that is not the best line we can
show and evolution didn't failed, it's just interrupted by the conflicts and
when user will run `hg evolve --continue`, things will be fine. I still remember
when I first saw 'evolution failed', I got a bit scare as am I in a recoverable
position or not. So let's drop this scary line.
Second, we replace the error messages to say `resolve conflicts and see
help-topic`. The help topic was added recently and documents all the three flags
very well. Addition of tests also showed that all the three flags works fine
with all the three instability type. So we should advertise them more.
Third, we now raise the error with our error message rather than raising
MergeFailure and having evolution related text in hint or stderr above. This
increase the focus on the error message we want to show.
After this patch, I think error messages by evolve in case of conflicts will be
same in every case.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 12 Jun 2018 04:01:19 +0530] rev 3842
evolve: point to `hg help evolve.interrupted` while resolving content-div
Recent test additions shows that --abort and --stop works well while resolving
content-divergence and we should advertise them. This patch does so by pointing
to evolve.interrupted help topic.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 12 Jun 2018 03:29:13 +0530] rev 3841
tests: add test about aborting content-divergence when multiple parents
This patch adds tests for --abort flag of hg evolve command when we are
resolving content-divergence which are on different parents and parent of one of
them is the gca of both of them.
The tests shows that we are doing good and we should advertise the flag during
conflicts.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 13 Jun 2018 15:47:19 +0530] rev 3840
CHANGELOG: add an entry about the --update flag
Since --update is still the default, we make the entry about --no-update.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jun 2018 04:29:05 +0530] rev 3839
evolve: show unfinished information in `hg status -v` (issue5886)
`hg status -v` shows information about unfinished states or `hg status` shows it
when `commands.status.verbose=True` is set.
Before this patch, information about interrupted evolve does not show up because
evolve does not resgiters in cmdutil.STATES. This patch make sure we register
evolve related information there.
There has been an idea to unify cmdutil.unfinishedstates and cmdutil.STATES
which needs some work and the resulting state does looks a bit complicated. So
till the time we unify them, let's fix this bug by registering in
cmdutil.STATES.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 12 Jun 2018 13:58:14 +0200] rev 3838
style: drop a (commented) debug print
Left-over from 4dcf87849f9d.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Jun 2018 20:58:55 +0530] rev 3837
tests: update tests output with changes in d0abd7949ea3 in core hg
CORE-TEST-OUTPUT-UPDATE: d0abd7949ea3
CORE-TEST-OUTPUT-UPDATE: 1e9c357d3ddf
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Jun 2018 10:40:57 +0200] rev 3836
branching: merge with stable
Merging with the new 8.0.1 release.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 23:31:44 +0530] rev 3835
Added tag 8.0.1 for changeset 0887c30255a1
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 23:30:24 +0530] rev 3834
packaging: prepare for 8.0.1 release
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Jun 2018 20:24:45 +0200] rev 3833
changelog: add a couple of missing entry
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 20:17:56 +0530] rev 3832
evolve: strip the extra obsmarkers if any on `hg evolve --abort`
Previous patches started storing some obsmarkers which needs to stripped during
`evolve --abort` which can't be stripped by stripping the new evolved changesets
because they point to a node which existed before the evolution was performed.
This patch adds logic to strip those obsmarkers by finding their indices in the
obsstore and then stripping them.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 20:13:36 +0530] rev 3831
evolve: store the obsmarkers to be deleted in evolvestate
Sometimes, we don't create a new node and obsolete one of the old node in favour
of an existing node. When user calls, `hg evolve --abort`, we need to strip that
obsmarker to go back in the same old state. The obsmarker created for new node
are stripped when the new nodes are stripped.
This patch start storing such obsmarkers in the evolvestate so that we can delete
them later if required. Right now we just store successsor and predecessor
information, we might need a better obsmarker serialization techinque in future
to make it more robust.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 15:52:11 +0530] rev 3830
evolve: store obsmarkers to be deleted in evolvestate
There are operations which don't create a new node rather they just obsolete one
of the unstable node in favour of existing one. In such cases if a further
resolution leads to conflicts and user calls `evolve --abort` or `evolve
--stop`, we might need to delete that obsmarker. So let's store such obsmarkers
in the evolvestate.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 15:38:43 +0530] rev 3829
evolve: factor out logic to merge branches in separate function
This patch moves the logic to merge branches while resolving content-divergence
to a separate function.
This makes code clear and better to understand.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 01:00:57 +0530] rev 3828
tests: add more test of --stop while resolving content-divergence
This tests the --stop flag when conflicts occur while relocating one of the
divergent changesets.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 00:47:28 +0530] rev 3827
evolve: strip the relocation commit on `hg evolve --stop`
While resolving content-divergence on multiple parents, we relocate one of the
commit on the parent of another one and then merge the divergent changesets.
Merging can leads to conflicts, and if user does `hg evolve --stop`, we need to
strip that relocated changeset too! This patch does that.
Test changes demonstrates the fix.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 00:43:39 +0530] rev 3826
evolve: declare updated and pctx variables in stopevolve()
They will used in next patch.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Jun 2018 22:52:11 +0530] rev 3825
evolve: store the old other divergent node after relocation in evolvestate
When the content-divergent changes are on different parents and we relocate of
the node to the parent of another one, we get a new other-divergent node. We
still need to store the older other-divergent in evolvestate so that we can use
that information.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Jun 2018 22:42:57 +0530] rev 3824
evolve: factor out logic for --stop flag in separate function
This will make code clean
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Jun 2018 22:38:08 +0530] rev 3823
tests: add test for --stop flag when resolving multiparents content-div
This patch adds a test for --stop flag when we are in an interrupted
content-divergent resolution which have multiple parents. Conflicts happen we
merge the divergent changesets after relocation. The test shows that we
need to strip the relocated changeset.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Jun 2018 20:35:48 +0530] rev 3822
evolve: move logic to continue interrupted content-div resolution to new fn
Each of the other type has defined their own function to continue/complete the
interrupted resolution. We take out the logic for content-div resolution too in
a separate function to make the top level function looks clean.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Jun 2018 01:12:12 +0530] rev 3821
evolve: rename help topic evolve.interrupted-evolve to evolve.interrupted
`evolve.interrupted-evolve` has the word evolve twice. Now that this help topic
is a part of evolve command, evolve.interrupted will mean the interrupted evolve
command only.
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 09 Jun 2018 00:15:27 +0530] rev 3820
packaging: update tested-with statements in evolve and topic
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 09 Jun 2018 00:12:08 +0530] rev 3819
CHANGELOG: mention about 4.6.1 compatibility
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jun 2018 22:52:53 +0530] rev 3818
test-compat: merge mercurial-4.4 into mercurial-4.3
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jun 2018 22:52:52 +0530] rev 3817
test-compat: merge mercurial-4.5 into mercurial-4.4
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jun 2018 22:52:51 +0530] rev 3816
test-compat: merge stable into mercurial-4.5
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 22 May 2018 23:51:57 +0530] rev 3815
utility: use ui.interactive() instead of checking config value
Before this patch, the rev selection prompt which pops up in case of ambiguity
to ask user to select a rev used to check the config value of ui.interactive
which can is by default set to None.
We should use ui.interactive() instead which is more smart in such cases.
Thanks to martinvonz for suggesting this.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jun 2018 19:48:53 +0530] rev 3814
CHANGELOG: add couple of entries about things fixed
We are preparing for a release!
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jun 2018 17:36:28 +0530] rev 3813
next-prev: always respect the --merge flag
An earlier bug fix series which started respecting commands.update.check
introduced a bug in which --merge was not respected sometimes. This patch fixes
that behavior by passing updatecheck as 'none' to hg.updatetotally() if --merge
is passed which is similar to what `hg update` does.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jun 2018 18:32:48 +0530] rev 3812
next-prev: add tests showing --merge not respected in some cases
This patch adds tests which show that --merge is not respected when you set
commands.update.check to any value.
This is a bug I wrote few days ago and will fix it in next changeset.
I like this process of writing bugs and fixing them.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 22:59:39 +0530] rev 3811
evolve: store the evolvestate if relocation results in conflicts
We missed storing the evolvestate on disk when relocation lead to conflicts. We
need to store it to grab information to continue or abort or stop the evolve.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 22:45:54 +0530] rev 3810
tests: add more test of resolution of content-divergent changesets
This patch adds test of resolution of content-divergent changesets when
relocation is required and it leads to conflicts. The test shows that we are not
doing the right thing. This will be fixed in upcoming patches.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 18:18:10 +0530] rev 3809
evolvestate: store info about relocation while resolving content-divergence
While resolving content-divergence when they are on different parents, we
relocate one of the node to parent of another one and this can lead to conflicts
sometimes. So we need to store information about that state in evolvestate so
that we can use that when user does `hg evolve --continue` or `--stop` or
`--abort`.
Now that we make sure, we store the new other node in evolvestate, we fix the
behavior of handling the relocated commit and merge the right changesets.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 18:13:54 +0530] rev 3808
evolve: factor out logic to merge content divergent csets in separate fn
This will help us in reusing the logic if we need to while doing evolve
--continue.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 20:27:03 +0530] rev 3807
evolve: commit the transaction if conflicts occur while merging content-div
Yes, let's commit the transaction in case conflicts occur. Yes, this is what
unshelve does and this is one of the reasons we don't like unshelve.
Previous patches added support for resolving content-divergence when they are on
different parents with parent of one being the gca. In such cases, we relocate
one of the divergent commit to the parent of another one.
All the relocation stuff and merging divergent changeset stuff happens in a
single transaction, so if there are conflicts while merging, we abort and the
transaction rollsback and our relocated commit is not applied after abort.
We don't want to process the relocation because that can lead to conflicts and
we will have dirty wdir because of resolving conflicts.
So, we commit the transaction when merging results in conflicts to make sure if
relocation happened, we commit that.
This fixes the absence of relocation commit found in previous patch and uncover
a new bug about handling of relocated commit. Upcoming patch will fix it.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Jun 2018 15:54:32 +0530] rev 3806
tests: add tests for resolving content-divergence when different parents
This patch adds more tests for cases when we try to resolve content-divergence
when they are on different parents.
The last test shows the we are somehow missing the relocated commit in
interrupted transaction. This will be fixed in next patch.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 01 Jun 2018 19:52:06 +0530] rev 3805
evolve: implement resolution of content-divergence when on differet parents
This patch implements the basic version of resolution of content-divergence
changesets when they are on different parents but one of the parent is gca of
both the different parents.
The functionality first relocates the divergent changeset which was left behind
and then resolves the content-divergence like it resolves in normal cases.
This is a very basic implementation because it still does not work on
interrupted evolution. Test changes in this patch shows the basic functionality
working. The output of dry-run is also required to be tweaked in such cased.
Upcoming patches will add more tests and will improve the implementation to work
during conflicts too.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 01 Jun 2018 19:57:19 +0530] rev 3804
tests: add tests for resolving content-divergence with parent change
This patch adds a new test file test-evolve-content-divergence.t which tests the
resolution of content divergence when the divergent changesets does not have the
same parents.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jun 2018 03:49:17 +0530] rev 3803
CHANGELOG: add an entry about fixing issue5877
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jun 2018 03:26:47 +0530] rev 3802
evolve: pop up editor if conflicts occur while merging commit messages
Last patch added support for merging commit messages while resolving content
divergence. In case of conflicts we fallback to one of the divergent commit
messages.
After this patch, we will pop up an editor where user has to resolve the
conflicts in the commit messages and then continue.
Tests are added for this. We need to fix handling in test-sharing.t to use
HGEDITOR to fix conflicts and pass the new commit message.
Future improvement can be that we should respect HGMERGE while merging commit
descriptions too.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 04 Jun 2018 01:28:02 +0530] rev 3801
evolve: merge commit messages while resolving content-divergence (issue5877)
While resolving content-divergence, there can be divergence in commit messages
too which should be resolved.
This patch uses the hg's internal merge API's to merge commit messages of
divergent changesets with predecessor as the base.
In case of conflicts, we fallback to divergent's commit message which should be
changed in future. We should pop up the editor with the commit message and the
conflict markers and let user fix that.
Tests are added for the functionality added.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jun 2018 01:19:36 +0530] rev 3800
evolve: move if-else block under the right block
the index related if-else should be only executed when all three base, divergent
and other have different branch names.
I coded this last night and mistakenly mis-indented it. Caught when I was adding
more tests.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 22:02:24 +0530] rev 3799
tests: make sure we don't result in commit messages conflict
Upcoming patches will introduce functionality of merging commit messages while
resolving content divergence which can lead to conflicts.
We don't want to test the conflicts scenario here, so let's make sure there are
no conflicts of commit messages in this test.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 21:02:09 +0530] rev 3798
tests: don't use mkcommit shell function in test-divergent.t
Upcoming series will start merging commit descriptions while resolving
content-divergence. This tests are here to test the basics of content-divegrence
resolution and we should not be testing much of commit description merge here.
Replacing mkcommit function with normal hg calls will help us decide on the
commit messages ourselves and prevent conflicts while merging commit messages.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 06 Jun 2018 14:35:36 +0200] rev 3797
evolve: remove duplicated documentation
File saving failureā¦
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jun 2018 04:09:49 +0530] rev 3796
evolve: show `hg help evolve.interrupted-evolve` in error when conflicts
The help list various flags which you can use during interrupted evolve
resolution and description about what they do. This will be very helpful for
user on how to continue an interrupted evolve.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 01:11:59 +0530] rev 3795
evolve: add a help topic `Interrupted-Evolve`
This help topic contains description on how the various flags work during
interrupted evolve. This help topic will be included in error message during
interrupted evolve in next patch.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Jun 2018 03:37:15 +0200] rev 3794
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Jun 2018 03:36:40 +0200] rev 3793
changelog: fix version number error
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 02:12:14 +0530] rev 3792
evolve: return the new node formed only as the replacement
sometimes, the the other content divergent changeset is obsoleted in favour of
the local divergent changeset in which case we should not store that as a
replacement because `hg evolve --abort` will strip that changeset. Let's make
sure we return the newnode only if formed.
The test results shows that we are still not 100% accurate as we need to strip
an obsmarker.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 17:04:20 +0530] rev 3791
tests: add more test of --abort flag for content-divergence resolution
This patch adds test when we resolve multiple content-divergence changesets at
once and resolution fo first content-divergence does not form new commits,
resolution of second one leads to conflicts.
As the output shows, we are wrongly stripping a changeset here, which should be
fixed in next patch.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 04 Jun 2018 04:03:02 +0530] rev 3790
evolve: prompt user for branch selection while resolving content-divergence
When resolving content-divergence, there can be case when both the
content-divergent changesets are on different named branches. In that case, we
are not sure which branch should the resolution commit should be on.
This patch adds logic to prompt user to choose the branch which the resolution
commit should be on and then creates the new resolution commit on that branch.
This also adds a new test file which have tests for the branch selection feature
we have added.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 03:51:01 +0530] rev 3789
evolve: pass the base revision in _completecontentdivergent()
We need the base revision to merge commit messages, branches and more stuff.
Let's make sure we have that by passing into the function which completes the
divergence resolution.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 03:49:49 +0530] rev 3788
evolve: store the base of content-divergents in evolvestate
We need the base changeset for merging commit messages, branches. Let's store it
in evolvestate.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Jun 2018 00:53:21 +0530] rev 3787
evolve: use cmdrewrite.amend() instead of creating a new commit
This patch backs out changeset 88601e1cd5d8.
We replaced cmdrewrite.amend() with creating new commit because using amend(), a
high level function was not good and creating a new commit gave us more control
over things.
**HOWEVER** to get more control, you need to get arrange all the pieces together
perfectly. Creating a new commit, the existing logic has some bugs around
dirstate handling, the `repo.dirstate.setparents()` call especially. Sometimes
this fixes the dirstate correctly sometimes not.
As Pierre-Yves David said, "Having a "clumsy" implementation with the right
behavior is usually a good first step. So having an amend based implementation
seems like a good first step.", let's take a step back and get back using amend
so that we can have a correct basic implementation which is bug free.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 01:59:41 +0530] rev 3786
corecompat: update the tests output to show phase update summary
eb9835014d20 in core added support to transactions to show a summary on the
phase changed during that transaction. Due to this, couple of tests output needs
to be updated. This patch does that.
While realeasing evolve, this patch should be backed out on branches where
hg<=4.6.
CORE-TEST-OUTPUT-UPDATE: eb9835014d20
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 03:24:43 +0530] rev 3785
CHANGELOG: add an entry about issue 5808 being fixed
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 03:21:25 +0530] rev 3784
next-prev: replace the error hint to mention about `--merge` flag
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 03:13:47 +0530] rev 3783
tests: add tests for conflicts while respecting commands.update.check
This patch adds tests to check that we don't run into conflicts while respecting
commands.update.check.
The error message now does not show the hint about --merge option which we
should fix.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 02:37:13 +0530] rev 3782
next: respect `commands.update.check` config option in `hg next` (issue5808)
`commands.update.check` config option determines what level of checking should
be done when we update to another revision. When we set this config option to
`noconflict`, it updates your working directory to a specified revision only
when there will be no conflicts which is a very nice behavior.
This patch adds logic to respect the config option so that we can have that nice
behavior with `hg next` too.
It turns out, we just needed to use hg.updatetotally() and add some cases to
check config option.
Right now, we only respect the config if value is set to `noconflict`. Otherwise
we fallback to the default behavior.
This is a part of fixing issue5808. Test changes demonstrate the fix.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 02:36:24 +0530] rev 3781
prev: respect `commands.update.check` config option in `hg prev` (issue5808)
`commands.update.check` config option determines what level of checking should
be done when we update to another revision. When we set this config option to
`noconflict`, it updates your working directory to a specified revision only
when there will be no conflicts which is a very nice behavior.
This patch adds logic to respect the config option so that we can have that nice
behavior with `hg prev` too.
It turns out, we just needed to use hg.updatetotally() and add some cases to
check config option.
Right now, we only respect the config if value is set to `noconflict`. Otherwise
we fallback to the default behavior.
This is a part of fixing issue5808. Test changes demonstrate the fix.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 02:50:55 +0530] rev 3780
tests: add test demonstrating issue5808
This patch adds test showing that `next` and `prev` does not respect the
`commands.update.check` config option, particularly when set to `noconflict`.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 02:26:19 +0530] rev 3779
next: bail out early in `hg next --evolve` if dirty wdir
This patch adds logic to bail out early when --evolve is passed with next
command and the working directory is dirty.
This will help us in preventing the message saying `do you want --merge` which
is useless and misleading when `--evolve` is passed.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 02:24:28 +0530] rev 3778
tests: add test of `hg next --evolve` with dirty working directory
I was testing some output change to `hg next --evolve` in dirty working
directory and found that we don't have any test for that.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 03:35:22 +0530] rev 3777
CHANGELOG: add an entry about fixing issue5897
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 27 May 2018 02:32:58 +0530] rev 3776
evolve: fix `hg abort` when hg next --evolve leads to conflicts (issue5897)
Before this patch, if you do `hg next --evolve` and end up having conflicts and
then you try `hg abort`, it will throw a KeyError. This patch fixes that.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 30 May 2018 00:34:35 +0530] rev 3775
tests: add a test demonstrating issue5897
When conflicts are caused due to `hg next --evolve`, `hg evolve --abort` breaks!
This patch adds test to demonstrate that. This will be fixed in next patch.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 17:50:02 +0530] rev 3774
evolve: add an `--update` flag to `hg evolve` command
This patch adds a new `--update` flag which defaults to True. The update flag
updates the working directory to the head of evolved revisions after `hg evolve`
command.
This flag can be used to not update your working directory after `hg evolve`
which has been one of the biggest feature request from fig team at Google. To
not update your working directory, the user can do `hg evolve --no-update`.
If the working directory get obsoleted by evolve command, it will update to the
successor.
This patch also adds some basic tests for the flag introduced.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 02:02:11 +0530] rev 3773
tests: add tests for testing --abort while content-divergence resolution
This patch adds a new test file with a very basic test of `--abort` on an
interrupted evolve which was resolving content-divergence. Upcoming patches will
add more rigourous tests.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 00:58:50 +0530] rev 3772
evolve: fix storage of replacements and temprevs node in evolvestate
The _completephaseivergent() was not respecting rules on how to store the new
node ids created in evolvestate. The rules are:
* store the temporary relocated commits in temprevs
* store the final new commit in replacements
This patch make sure we follow the above rules and also use the return value
returned by _resolvephasedivergence().
The tests change demonstrates that we are all good now.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 00:58:35 +0530] rev 3771
tests: add more tests related to aborting while resolving phase-divergence
The tests shows the something is still broken related to abort while resolving
phase-divergence which will be fixed in upcoming patches.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 23 May 2018 12:16:24 +0200] rev 3770
topic: suggest to clear a topic that becomes empty
We add a hint suggesting "hg topic --clear" when a topic becomes empty.
This usually happens when all its changesets get public, that is when
the user does a 'phase -p' or when they pull from a server. To
discriminate relevant cases for which we should display the hint (and
typically exclude explicit 'hg topic --clear' operation), we look for
the transaction "type" to only consider 'phase' or 'push' transaction.
In the latter case, the transaction name is not simply 'push-response'
but it also included the remote URL so we need to match on string
content.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 23 May 2018 11:37:37 +0200] rev 3769
topic: display a hint pointing at help when a topic becomes non-empty
This is an attempt at avoiding "mistakes" by new users of topics when
they pull a topic and publish its changesets while being checked out. In
this case, the topic will become empty but still be active; however, if
this is a "foreign" topic, the user will not likely want to keep it
active for the next commit operation. So we add a hint message pointing
at general help of "topics" command so that they can eventually do
something and learn about "hg topics --clear".
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 24 May 2018 18:57:46 +0200] rev 3768
branching: merge with compat fix on default
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 24 May 2018 01:50:26 +0530] rev 3767
evolve: add compat for repair.stripbmrevset which is moved to scmutil
This patch adds compatibility logic for repair.stripbmrevset() which is moved to
scmutil as bookmarkrevs().
This fixes test-prune.t failure.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 May 2018 11:18:14 +0200] rev 3766
evolve: update the readme with more information about contribution
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 23 May 2018 11:03:31 +0200] rev 3765
topic: dedent items about publishing behavior in docstring
Also change item bullets from '#' to '*'.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 23 May 2018 11:00:11 +0200] rev 3764
topic: use preformatted block for config snippets documentation
We add :: markers, empty line and properly indent blocks where needed.
Denis Laxalde <denis.laxalde@logilab.fr> [Wed, 23 May 2018 11:09:37 +0200] rev 3763
tests: add a test for "hg help -e topic"
Currently, some configuration snippets do not render well; we'll fix
this in forthcoming changesets.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 May 2018 01:24:02 +0200] rev 3762
branching: merge with stable
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 22 May 2018 21:33:50 +0530] rev 3761
content-div: add test showing `--stop` works during interrupted resolution
This patch adds a test showing that the --stop flag of `hg evolve` works well
during interrupted content-divergence resolution.
The --stop flag now works with all the three different type of instability
resolution very well and we should advertise it more.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 23 Apr 2018 14:48:53 +0530] rev 3760
evolve: create new commit while resolving content-divergence
Before this patch, we used to amend one of the content-divergent changes with
the changes from the merge. Creating a new commit will certain advantages like
letting user enter a commit message, showing user the new merge diff before
commiting the content-divergent resolution and give us more control in the
implementation part.
The reason amend was used initially was just because it was easy. There are some
tests update due to change.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 22 May 2018 20:33:42 +0530] rev 3759
content-divergence: store the resolved revs in evolvestate['replacements']
The support for continuing a conflicted content-divergence resolution was added
some time ago. That support lacked storing of the resolved rev in the
evolvestate['replacements'] which marks the node as resolved and does not try to
resolve that node again.
Since we didn't store, the resolution, processes the same node again. This patch
makes sure we store the information in evolvestate that a certain
content-divergent node is resolved to prevent pre-processing it again.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 22 May 2018 23:51:57 +0530] rev 3758
utility: use ui.interactive() instead of checking config value
Before this patch, the rev selection prompt which pops up in case of ambiguity
to ask user to select a rev used to check the config value of ui.interactive
which can is by default set to None.
We should use ui.interactive() instead which is more smart in such cases.
Thanks to martinvonz for suggesting this.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:46:20 +0530] rev 3757
evolve: make `--abort` strip the temporary revs created during resolution
During divergence resolution, `hg evolve` created temporary relocation commits
which needs to be stripped off during `hg evolve --abort` to get back to the
same state where we were. Previous patch added a new list temprevs to be stored
in evolvestate.
This patch starts storing the temp relocated node created during
phase-divergence resolution in evolvestate and make sure we consider stripping
it too while `hg evolve --abort`.
The test changes demonstrate the fix. Now we are sucessfully aborting a
phase-divergence resolution.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:43:23 +0530] rev 3756
evolve: store a list of temprevs in evolvestate
There are temporary revisions which are created as a part of divergence
resolution which needs to be stripped off if user runs `hg evolve --abort`. We
need to save the nodeids of those temporary revisions in the evolvestate.
The temprevs list will help in the above mentioned use cases.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:36:14 +0530] rev 3755
evolve: check for None before adding in set of revisions to strip
After previous patch, replacements can contain None. Let's make sure we don't
add None to the revisions to strip during `hg evolve --abort`
The test changes demonstrate the usefulness of this and the previous patch. Now
abort is working and public changesets are not a problem.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:33:14 +0530] rev 3754
evolve: return the new replacement node to be stored in evolvestate
While resolving phase-divergence, we can end up obsoleting the phase-divergent
commit in favor of the public commit. Before this patch we return the node of
public commit to store as a replacement of the phase-divergent commit.
The above will not cause any problem till the time we use `hg evolve --abort` on
an interrupted evolve which tries to strip the replacement nodes because it
thinks that the replacements nodes are the ones which are created during the
resolution and are new.
Since we will be stripping a public node, `evolve --abort` will error out saying
cannot strip public changeset, unable to abort evolve which is bad.
We should make sure, replacements should only consist of new nodes formed. If
the instablity is resolved by obsoleting in favour of old changeset, we should
not store the old changeset in replacements in evolvestate.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:39:38 +0530] rev 3753
evolve: don't make values of replacements dict lists
There was inconsistency in code base related to the values stored in
replacements dict in evolvestate. At some places we store a list, at some places
we just store the nodeid. Let's make sure we store only the nodeid, not a list.
If there are cases, when there are multiple replacements or changesets created
during resolution, later patch will introduce storing temprevs in evolvestate
which should be used.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 02:41:08 +0530] rev 3752
tests: add a test file `--abort` flag while resolving phase-divergence
This patch adds a new test file test-evolve-abort-phasediv.t which will contain
tests for `hg evolve --abort` flag while resolving phase-divergence.
There is a case in this test which does not work right which will be fixed in
upcoming patches.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 15 May 2018 22:17:27 -0700] rev 3751
evolve: pass revisions as strings to commands.*()
It's usually fine to pass integer revisions to e.g. commands.update(),
but when directaccess is enabled, it attempts to parse it a revset,
which fails.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 01:27:13 +0530] rev 3750
tests: rename test-evolve-abort.t to test-evolve-abort-orphan.t
We renamed the test file because it contains all the cases related to orphan
resolution. Now we care about divergence resolution too and hence we must have
separate specific test files for each type.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 21 May 2018 16:56:52 +0200] rev 3749
branching: merge with branch for stable
Boris Feld <boris.feld@octobus.net> [Mon, 21 May 2018 16:25:29 +0200] rev 3748
compat: update obshashrange test output
Mercurial core bfe8ef6e370e seems to have changed the order of some messages.
Simply accept the change in the test file.
CORE-TEST-OUTPUT-UPDATE: bfe8ef6e370e
Boris Feld <boris.feld@octobus.net> [Mon, 21 May 2018 14:56:51 +0200] rev 3747
test: update to new outputs
Mercurial core ea63a2004d09 update the hidden changeset warning during update
after the effective update.
CORE-TEST-OUTPUT-UPDATE: ea63a2004d09
Boris Feld <boris.feld@octobus.net> [Mon, 21 May 2018 13:07:49 +0200] rev 3746
compat: fix obslog with Mercurial 4.6+
Mercurial core 3fe1c9263024 removed the diffopts attribute on
changesetprinter. Backport consuming diffopts in the constructor for old
versions of changesetprinter and update the non-graph code to extract the
patch option and pass it directly.
Faheem Mitha <faheem@faheem.info> [Sat, 19 May 2018 18:26:36 +0530] rev 3745
debian: add line to clean-docs target to delete additional docs file
Martin von Zweigbergk <martinvonz@google.com> [Mon, 14 May 2018 15:25:38 -0700] rev 3744
amend: use context manager for locks (issue5887)
Martin von Zweigbergk <martinvonz@google.com> [Thu, 10 May 2018 21:37:28 -0700] rev 3743
evolve: point to '--abort' in verbose status message
f6979d64b9fb (evolve: point to '--abort' in error message, 2018-04-22)
changed "hg update -C ." to "hg evolve --abort" in error
messages. This commit makes the same change in the verbose status
message (the one that warns about unfinished evolve).
There's still one mention "hg update -C" in our codebase. That's after
"hg evolve --content-divergent" fails, but I don't think "hg evolve
--abort" works in that case (yet?).
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 22 Apr 2018 20:14:42 +0530] rev 3742
evolvecmd: add comments and new lines in content-divergence handling logic
I have visited this logic three times in last 10 days and I have to re-read the
whole code to make sure I don't miss any part. Adding comments will help
understanding the code in better and fast way.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 19:18:54 +0530] rev 3741
evolve: show cset hash in "merging conetnt-divergent changeset"
While I was here I also mae de it repo.ui.status() instead of repo.ui.note() to
align the behavior with rest of the messages.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 19:14:41 +0530] rev 3740
evolve: show cset hash in "update to local conflict" message
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 19:11:29 +0530] rev 3739
evolve: use hg.updaterepo() instead of hg.update() to hide stats
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 19:04:18 +0530] rev 3738
evolve: fix the conflicts error message during content-divergence resolution
Before last patch, we didn't had an automated way to continue an interrupted
content-divergence resolution and we used to show a very long error message on
how to continue manually.
This patch replaces that long error message with nice small message which tells
how to continue and how to abort. We still show `hg update -C .` to abort as we
need to test and make `--abort` work in case of content-divergence.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 18:51:56 +0530] rev 3737
evolve: add logic to continue interrupted content-divergence resolution
We continue the interrupted content-divergence using the logic to complete
content-divergence which we refactored in it's own function few patches ago.
We had to delete evolvestate file before using cmdutil.amend() because otherwise
we can't use the function. This leads to a hack which deletes the evolvestate
file, we may want to not to use the high level API function here. Also we had to
pass evolvestate also to _completecontentdivergent function because of this.
This patch also, adds a test which demonstrates that the logic works fine.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 18:48:36 +0530] rev 3736
evolve: store the evolvestate file when encountering conflicts
This patch makes `hg evolve` store the evolvestate file when it encounters merge
conflicts while resolving content-divergence.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 18:13:29 +0530] rev 3735
evolve: take out logic to complete phase-divergence in separate fn
This patch takes out the logic to complete the content-divergence resolution to
it's own separate function so that we can reuse it in case of interrupted
resolution.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 17:54:01 +0530] rev 3734
evolve: store divergent nodes in evolvestate when resolving content-divergence
We need to store the divergent nodes in evolvestate so that we can continue an
interrupted phase divergence resolution.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 02 May 2018 11:59:06 +0200] rev 3733
branching: merge stable into default
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 28 Apr 2018 18:44:07 +0530] rev 3732
tests: add test showing `hg evolve --stop` works fine with phase-divergence
This patch adds a new test file which contains test demonstrating that `--stop`
flag works well while resolving phase-divergence using `hg evolve`.
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 28 Apr 2018 18:03:32 +0530] rev 3731
tests: rename the test file to add 'orphan' in the name
test-evolve-stop.t contains test for `hg evolve --stop` for orphan resolution
only. We also need to test the flag while resolving divergence. It will be good
if we have a test file for each type of instability.
Anton Shestakov <av6@dwimlabs.net> [Fri, 27 Apr 2018 16:28:34 +0800] rev 3730
tests: test that `hg obslog wdir()` aborts with a useful message
Anton Shestakov <av6@dwimlabs.net> [Fri, 27 Apr 2018 16:19:45 +0800] rev 3729
obshistory: make obslog work when a commit doesn't have any description
This logic is taken from logcmdutil.changesetprinter class. It checks that
commit description is not empty before extracting the first line (before this
patch it would try to index an empty list).
Stripping description also makes obslog behave more like regular log when there
are trailing/leading whitespaces.
Anton Shestakov <av6@dwimlabs.net> [Fri, 27 Apr 2018 16:14:10 +0800] rev 3728
obshistory: use a more appropriate type for obslog entries
cand is actually a regular changeset and not 'M' (graphmod.MISSINGPARENT). And
'M' is only used for graph edges, but cand is drawn as a graph node.
Visually there's no effect, but the code makes more sense this way.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:19:13 +0100] rev 3727
packaging: mark as development version
This help avoiding confusion when installing from source.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:18:19 +0100] rev 3726
branching: merge with latest release
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:16:35 +0100] rev 3725
packaking: mark as development version
This avoid confusion when installing from source.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:09:36 +0100] rev 3724
test-compat: merge mercurial-4.4 into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:09:35 +0100] rev 3723
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:09:34 +0100] rev 3722
test-compat: merge stable into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:09:14 +0100] rev 3721
Added tag 8.0.0 for changeset 116cdd8c102a
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 14:02:43 +0100] rev 3720
packaging: update version number
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 13:55:52 +0100] rev 3719
packagin: update `tested-with` statement
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 13:49:00 +0100] rev 3718
changelog: mention 4.6 compatibility
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 11:55:49 +0100] rev 3717
Changelog: pre-version gardening
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Apr 2018 01:58:45 +0100] rev 3716
testcompat: update output for Mercurial 4.3
Lets of minor update + one major update to tests/test-evolve-phase-divergence.t
since all hashed chance (different instability name).
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Apr 2018 12:23:00 +0200] rev 3715
test-compat: merge mercurial-4.4 into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Apr 2018 12:11:10 +0200] rev 3714
test-compat: merge mercurial-4.5 into mercurial-4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Apr 2018 08:57:18 +0100] rev 3713
testcompat: revert output change from new capabilities
This new capabilities is 4.6 only.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Apr 2018 08:42:47 +0100] rev 3712
testcompat: revert output change from 54a469cd5b26
These are 4.6 only changes.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Apr 2018 08:41:57 +0100] rev 3711
testcompat: revert output change from 1de6ba0ac6d7
These are 4.6 only changes.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Apr 2018 12:10:26 +0200] rev 3710
testcompat: merge stable into mercurial-4.5
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Apr 2018 15:23:15 +0100] rev 3709
compat: handle different `ui.edit` signature with Mercurial 4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Apr 2018 16:13:42 +0100] rev 3708
wirepeer: try modern module first
This avoid some issue with remaining .pyc
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Apr 2018 12:07:35 +0100] rev 3707
compat: handle lack of allpredecessors for Mercurial 4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Apr 2018 12:03:05 +0100] rev 3706
branching: merge further fix into stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Apr 2018 11:44:05 +0100] rev 3705
wrapping: fix a silly error were we checking on module and wrapping the other
...
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Apr 2018 11:04:27 +0200] rev 3704
brancing: merge next release into default
We are about to release hg-evolve 8.0.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 21 Apr 2018 11:01:12 +0200] rev 3703
test-compat: open mercurial-4.5 branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 22 Apr 2018 11:40:17 +0200] rev 3702
evolve: point to '--abort' in error message
The way to escape and evolve run has been updated and we need to tell our user
about it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:27:13 +0200] rev 3701
compat: drop compatibility layer for pager
All versions we support now support `ui.pager`.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:25:17 +0200] rev 3700
compat: drop compatibility layer for duplicatecopies
We no longer support version before Mercurial 4.3.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:21:44 +0200] rev 3699
compat: drop compatibility layer for bookmark.applychanges
We now only support Mercurial version down to 4.3.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:15:10 +0200] rev 3698
compat: from compatibility layer for allprecursors
We only support down to 4.3 now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:12:37 +0200] rev 3697
compat: drop compatibility layer for successorssets
We support down to Mercurial 4.3 now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:08:01 +0200] rev 3696
compat: drop compatibility wrapper for "relevantmarkers"
We no longer support version without the logic we have been adding.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:51:53 +0200] rev 3695
compat: drop compat layer for cleanupnodes
We no longer support version lower than 4.3.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:07:23 +0200] rev 3694
compat: from compatibility layer for createmarkers
We support down to 4.3 now. It supports operation.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 16:01:49 +0200] rev 3693
compat: drop obsutile layer
Mercurial 4.2 is no longer supported.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 15:59:39 +0200] rev 3692
compat: drop vfsmod compat layer
Mercurial 4.2 is no longer supported.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 14:26:03 +0200] rev 3691
evolve: use in code filtered error for 4.6
Things have been upstream into core for a while, let us use them instead of the
evolve version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 15:51:44 +0200] rev 3690
documentation: refer to 4.3 in the help text
Minimal version supported is now 4.3. Drop reference to 4.2 in the help.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 14:14:34 +0200] rev 3689
topic: remove compatibility for older version in discovery wrapping
Support for 4.1 and 4.2 has been dropped.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 14:01:24 +0200] rev 3688
obscache: drop compat layer to access public changeset
We can now access precomputed sets. (compat to 4.1 and 4.2 dropped)
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 14:00:12 +0200] rev 3687
obscache: drop compat layer for obsmarkers reading
We cna now use a version with the argument we needs.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 13:40:57 +0200] rev 3686
template: drop compatibility layer
Support has been dropped for 4.1 and 4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 13:35:31 +0200] rev 3685
timer: drop compat layer for time
Support for 4.1 and 4.2 has been dropped.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 11:38:13 +0200] rev 3684
compat: drop support for Mercurial 4.2
Since Mercurial 4.6 is about to be released, we drop support for 4.2 too.
(code still need to be cleaned up).
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 11:39:04 +0200] rev 3683
compat: close test-compat branch for mercurial-4.2
Support for this version have just been dropped.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 18 Apr 2018 22:54:11 -0700] rev 3682
evolve: add support for hg >= b4d85bc1
Mercurial commit b4d85bc1 deleted the wireproto module and its
contents are now in various other modules, so we can not even do
unchecked imports of it now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 10:59:12 +0200] rev 3681
discovery: handle deletion of 'wireproto' module
Mercurial commit b4d85bc122bd. deleted the wireproto module and its
contents are now in various other modules, so we can not even do
unchecked imports of it now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 10:55:57 +0200] rev 3680
evolve: handle wireproto module deletion for registering new commands
Module have been deleted in b4d85bc122bd. We can no longer import it blindly.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 10:53:59 +0200] rev 3679
minitopic: handle wireproto module change from b4d85bc122bd
This module have been scattered in other place, so we need to detect and handle
this for 4.6+
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Apr 2018 10:50:24 +0200] rev 3678
topic: handle wireproto module change from b4d85bc122bd
This module have been scattered in other place, so we need to detect and handle
this for 4.6+
Martin von Zweigbergk <martinvonz@google.com> [Wed, 18 Apr 2018 22:36:54 -0700] rev 3677
obsexchange: remove unused import of wireprotoserver
This seems to be unused since 300d7d019b9.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 18 Apr 2018 10:08:05 +0200] rev 3676
compat: rename resolvepartialhexnodeid to resolvehexnodeidprefix
The name changed in 5f8f013e7d52
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Apr 2018 19:42:46 +0200] rev 3675
compat: access datestr in a way compatible with verison prior to 4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Apr 2018 19:42:26 +0200] rev 3674
compat: fallback to compatible partial lookup prior to 4.6
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Apr 2018 18:30:56 +0200] rev 3673
import: adapt to fd1dd79cff20
With the latest state of the code, the patch is passed to "import try one" as
parsed.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Apr 2018 18:10:53 +0200] rev 3672
import: grab the expected node value on the fly
We no longer parse the patch beforehand this will reduce inconsistency with
newer API.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Apr 2018 17:58:12 +0200] rev 3671
import: use a less direct approach to store the expected node
This will help later refactoring.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Apr 2018 15:45:58 +0200] rev 3670
compat: adapt `amend --patch` to the new `patch.extract` API
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Apr 2018 15:04:15 +0200] rev 3669
compat: deal with change in the wireproto module
Martin von Zweigbergk <martinvonz@google.com> [Mon, 16 Apr 2018 12:46:23 -0700] rev 3668
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 16 Apr 2018 20:18:10 +0200] rev 3667
topic: allow '.' in topic names
This is also commonly used.
Martin von Zweigbergk <martinvonz@google.com> [Mon, 16 Apr 2018 10:58:06 -0700] rev 3666
relocate: look up partial nodeids in unfiltered repo
This accidentally changed to using the filtered repo in commit
0f0f3135.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 16 Apr 2018 17:11:27 +0200] rev 3665
compat: avoid using partial node ID in lookup
This is getting deprecated in 4.6.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 16 Apr 2018 00:05:54 +0200] rev 3664
test: apply output change from protocaps
CORE-TEST-OUTPUT-UPDATE: afcfdf53e4b5
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 15 Apr 2018 23:24:03 +0200] rev 3663
test: update output to match upstream
The exact wording for filtered error has been changed.
CORE-TEST-OUTPUT-UPDATE: ecd3f6909184
Martin von Zweigbergk <martinvonz@google.com> [Fri, 13 Apr 2018 09:26:28 -0700] rev 3662
evolve: don't pass stringified int to repo.__getitem__
We were doing repo['-1'], which is now deprecated. Switch to
repo['tip'], which is much clearer anyway (I initially thought this
was nullrev and sent an incorrect patch until Pierre-Yves corrected
me).
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.
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.
Anton Shestakov <av6@dwimlabs.net> [Thu, 12 Apr 2018 13:30:28 +0800] rev 3659
stablerangecache: 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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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).
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).
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).
Boris Feld <boris.feld@octobus.net> [Wed, 04 Apr 2018 16:29:48 +0200] rev 3644
templatekw: fix templatedata for 46
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
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.
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.
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
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 30 Mar 2018 19:38:55 +0200] rev 3618
tests: various comment on test-evolve-phase-divergence
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.
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.
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.
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.
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.
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+.
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.
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.
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.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 23 Mar 2018 12:35:37 +0530] rev 3608
evolve: drop duplicate import of rewriteutil._bookmarksupdater
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
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.
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.
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.
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
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 22 Mar 2018 10:05:50 +0100] rev 3602
branching: merge with 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.
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
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`.
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.
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.
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.
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.
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
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
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
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
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
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
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
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
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:32:59 +0100] rev 3586
packaging: update version numbers
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:30:06 +0100] rev 3585
changelog: prepare release 7.3.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Mar 2018 15:36:10 +0100] rev 3584
tests: updated tested with version
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Mar 2018 17:03:55 +0530] rev 3583
__init__: 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.
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._
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.
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.
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).
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.
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.
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.
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.
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.
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.
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`.
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:41:51 -0700] rev 3570
topics: 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
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:51:34 -0700] rev 3568
touch: 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
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:51:17 -0700] rev 3566
prune: 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
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:50:59 -0700] rev 3564
fold: 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
Martin von Zweigbergk <martinvonz@google.com> [Mon, 12 Mar 2018 15:40:28 -0700] rev 3562
evolve: 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.
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.
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".
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 16 Mar 2018 09:13:33 -0700] rev 3535
cleanup: remove duplicate import of "obsolete"
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.
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.
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.
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.
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.
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.
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.
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.
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`.
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 :-)
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.
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.
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
Anton Shestakov <av6@dwimlabs.net> [Fri, 23 Feb 2018 20:27:17 +0800] rev 3521
obsdiscovery: include units in ui.progress() calls (issue5773)
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)...
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.
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.
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.
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.
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.
Boris Feld <boris.feld@octobus.net> [Sat, 03 Mar 2018 23:17:26 -0500] rev 3514
compat: add compat layer for date related functions
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 03 Mar 2018 22:25:24 -0500] rev 3513
branching: merge with stable
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.
Sean Farley <sean@farley.io> [Tue, 05 Dec 2017 20:45:46 -0800] rev 3511
serverminitopic: fix wrong object being passed to phase
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.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 02 Mar 2018 16:31:08 -0500] rev 3509
branching: merge with stable
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.
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.
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.
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.
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
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.
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.
Boris Feld <boris.feld@octobus.net> [Wed, 17 May 2017 09:39:15 +0200] rev 3501
color: add some colors to evolve command itself
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.
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.
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.
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.
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`
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.
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.
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.
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 06 Feb 2018 13:00:28 +0100] rev 3488
merge with stable
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
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.
Matt Harbison <matt_harbison@yahoo.com> [Sun, 21 Jan 2018 16:46:31 -0500] rev 3485
test: conditionalize blackbox output for Windows
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 05 Feb 2018 14:36:34 +0100] rev 3484
branching: merge with 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.
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.
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`.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 Jan 2018 18:13:52 +0530] rev 3480
evolve: store the target category in evolvestate
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.
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.
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.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 04 Feb 2018 14:29:18 +0100] rev 3476
branching: merge with stable
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 Jan 2018 16:00:21 +0530] rev 3465
evolvecmd: move 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.
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
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.
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.
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 26 Jan 2018 17:55:16 +0100] rev 3456
branching: merge with 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.
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
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Jan 2018 15:20:29 +0100] rev 3449
branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Jan 2018 15:19:17 +0100] rev 3448
test: update test output ot reply caps size change
CORE-TEST-OUTPUT-UPDATE: 2e703ed1c713
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Jan 2018 15:11:20 +0100] rev 3447
branching: merge default test output into stable
Mercurial 4.5 has been merged, we update the expected test output.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Jan 2018 15:08:09 +0100] rev 3446
branching: open Mercurial 4.4 compatibility branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 12:55:23 +0100] rev 3445
branching: merge release 7.2.1 into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 12:48:26 +0100] rev 3444
packaging: mark source as development version
This help avoiding consusion
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 12:53:25 +0100] rev 3443
Added tag 7.2.1 for changeset 6c772398eb4e
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 12:38:11 +0100] rev 3442
test-compat: merge mercurial-4.2 into mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 12:38:10 +0100] rev 3441
test-compat: merge mercurial-4.3 into mercurial-4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 12:38:09 +0100] rev 3440
test-compat: merge stable into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 12:28:32 +0100] rev 3439
packaging: prepare version 7.2.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 12:44:02 +0100] rev 3438
branching: merge with tutorial output update
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 12:28:53 +0100] rev 3437
test-compat: merge mercurial-4.2 into mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 12:28:52 +0100] rev 3436
test-compat: merge mercurial-4.3 into mercurial-4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 12:28:40 +0100] rev 3435
test-compat: merge stable into mercurial-4.3
Boris Feld <boris.feld@octobus.net> [Sat, 20 Jan 2018 12:26:39 +0100] rev 3434
tutorial: docgraph output seems to have been dedented
Update the outputs following latest version of docgrpah and its dependencies.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 12:17:06 +0100] rev 3433
test: update output for more verbose blackbox
CORE-TEST-OUTPUT-UPDATE: 853bf7d90804
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 11:59:36 +0100] rev 3432
test: update with new 'update' hint about obsfate
CORE-TEST-OUTPUT-UPDATE: 35a0f6f31eef
Martin von Zweigbergk <martinvonz@google.com> [Sat, 13 Jan 2018 14:35:49 -0800] rev 3431
evolve: update output for wider reporting of troubled changesets
CORE-TEST-OUTPUT-UPDATE: 1a09dad8b85a
Boris Feld <boris.feld@octobus.net> [Fri, 19 Jan 2018 19:18:05 +0100] rev 3430
test: update output for new `merge --abort` message
Core have updated its command to cancel a failed merge, update the test output
to match it.
CORE-TEST-OUTPUT-UPDATE: 41ef02ba329b
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 11:13:21 +0100] rev 3429
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 11:11:48 +0100] rev 3428
changelog: mention 4.5 compatibility
Martin von Zweigbergk <martinvonz@google.com> [Sat, 20 Jan 2018 11:07:18 +0100] rev 3427
trouble-reports: yield to in code reporting of new troubles
Mercurial 4.5 has the feature in core, let core do the reporting in this case.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 Jan 2018 20:41:58 +0100] rev 3426
caches: fix automatic warming trigger
The caches were supposed to get warmed when we receive a push. However the
transaction created when we -issue- a push use a similar name and was confusing
the detection.
We now properly detect the case.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 Jan 2018 11:02:44 +0100] rev 3425
changelog: mention the packaging bugfix
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Jan 2018 20:16:26 +0100] rev 3424
packaging: properly install the evolve.thirdparty module
It is properly added to the Manifest.in but that is not enough. We need to find
another tool capable of catching things.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Jan 2018 04:53:09 +0100] rev 3423
branching: merge release tags into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Jan 2018 04:50:38 +0100] rev 3422
packaging: mark source as development version
This help avoiding consusion
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Jan 2018 04:48:57 +0100] rev 3421
Added tag 7.2.0 for changeset bf6b859807ba
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Jan 2018 04:41:48 +0100] rev 3420
test-compat: merge mercurial-4.2 into mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Jan 2018 04:38:04 +0100] rev 3419
test-compat: merge mercurial-4.3 into mercurial-4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Jan 2018 04:35:34 +0100] rev 3418
test-compat: merge stable into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Jan 2018 04:32:43 +0100] rev 3417
branching: merge stable back into default
The test change has to be reverted.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Jan 2018 03:35:24 +0100] rev 3416
branching: merge further compat change into stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Jan 2018 02:23:35 +0100] rev 3415
branching: merge further compat change into stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Jan 2018 01:18:05 +0100] rev 3414
branching: merge more compatibility fix into stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 Jan 2018 21:47:40 +0100] rev 3413
packaging: merge 7.2.0 into stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 Jan 2018 20:45:13 +0100] rev 3412
tests: update test output to match 4.4
The stable branch is sitll 4.4.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 Jan 2018 19:52:00 +0100] rev 3411
branching: backed out test output changes from core-1905aac253f0
This backs out evolve-ae6fddf39933
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 Jan 2018 19:42:44 +0100] rev 3410
branching: backed out test output changes from core-02fdb8c018aa
This backs out evolve-1905aac253f0.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Jan 2018 03:34:31 +0100] rev 3409
compat: fix argument check for marker reading
The previous check was broken for 4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Jan 2018 02:21:44 +0100] rev 3408
cachevfs: use a compatibility later for all access
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Jan 2018 01:11:47 +0100] rev 3407
diff: drop default argument value
This argument use the default value for an argument not available in earlier
version. So we just stop passing the argument.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Jan 2018 00:58:02 +0100] rev 3406
test: use hash in test-evolve-topic.t
This helps testing compat with older version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 Jan 2018 21:45:46 +0100] rev 3405
packaging: prepare version 7.2.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 Jan 2018 21:44:22 +0100] rev 3404
changelog: prepare for coming release
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 Jan 2018 20:51:22 +0100] rev 3403
stablerange: add missing licence and copyright header
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 11 Jan 2018 18:07:09 +0530] rev 3402
obshistory: pass the csets description in getmarkerdescriptionpatch
Previous patches removed any use of ctx in the function and we now just need the
cset description in the function. Let's pass that only. This will save couple
of calls of repo[node].
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 11 Jan 2018 17:54:34 +0530] rev 3401
obshistory: remove the unused function
The function is not used anymore.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 11 Jan 2018 17:11:10 +0530] rev 3400
obslog: add header to the changeset description diff
This patch adds `diff -r <hash> -r <hash> <filename>` header to the output of
the changeset description diff which is shown using the --patch flag of obslog
command.
This fixes the label/color issue for description diff also.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 11 Jan 2018 16:30:46 +0530] rev 3399
obslog: colorize the description diff shown in obslog -p
This patch colorizes the description diff shown in `hg obslog -p`. The labels
for the header are different from that of the patch as the main header which
says `diff -r <somehash> -r <somehash> <filename>`. Next patch will hack to add
that.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 10 Jan 2018 19:47:43 +0530] rev 3398
obslog: colorize the patch shown using `hg obslog -p`
This patch adds color support to the patch shown in obslog command.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 27 Dec 2017 04:09:50 +0530] rev 3397
topic: suggest using topic when user creates a new head on branch
This patch adds a message to use topics when user creates a new head on a
branch.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 Jan 2018 18:41:29 +0100] rev 3396
changelog: update changelog with some of the benefit from the new format
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 11 Jan 2018 18:36:05 +0530] rev 3395
evolve: use better words in conflict markers of `hg evolve`
Though we call merge.graft internally, we still have the functionality to pass
the words we want to show up in conflict markers. So let's use better words
here.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 11 Jan 2018 18:38:09 +0530] rev 3394
tests: add a test demonstrating we still use graft in conflict markers
This patch adds a test which shows that we still use the word graft in the
conflict markers. Next patch will start using evolve instead of graft.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 10 Jan 2018 15:59:35 +0530] rev 3393
evolve: remove the old functions for writing evolvestate
Previous patch made all the users of these functions to use the evolvestate
class and now they are not required. Let's remove them.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 10 Jan 2018 15:57:43 +0530] rev 3392
evolve: use the new evolvestate class in place of old methods
Earlier we had three methods, which used to handle all the storage around the
evolvestate but in previous patch we have introduced an evolvestate class
wrapper which can serve for all our needs. This patch replaces the existing
usage of the evolvestate with the new class introduced.
Upcoming patches will start using the class at more places.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 10 Jan 2018 14:53:01 +0530] rev 3391
evolvestate: add a class to wrap the state of `hg evolve` command
This patch adds a new file which contains a class which will act as a wrapper
for the data to be stored or used during the `hg evolve` command. This patch
just introduces the file and does not use it at the moment. The upcoming patches
will start using it.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 12 Jan 2018 19:23:29 +0530] rev 3390
evolve: start vendoring third party package cbor
This patch adds a third party package named cbor. cbor is a data serialization
format and this library provides API to convert Python Objects into cbor
formatted data. To know more about cbor, hop onto cbor.io
The files are copied from it's official bitbucket repository which is at
https://bitbucket.org/bodhisnarkva/cbor/src/113f42203c941470c98f7174065ba9b384cff727/
cbor.py can be found at
https://bitbucket.org/bodhisnarkva/cbor/src/113f42203c941470c98f7174065ba9b384cff727/py/cbor/cbor.py
# no-check-commit as we are importing a third party package
Modified test-check-flake8.t to not lint on thirdparty packages.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 09 Jan 2018 20:01:50 +0530] rev 3389
uncommit: add a new flag `--revert` to discard wdir changes after uncommit
This patch adds a new flag to `hg uncommit` using which one can discard the wdir
changes which are left after the operation. Both the changes, the ones which
were before the uncommit and the ones which were added to wdir as a result of
uncommit as cleared out.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 09 Jan 2018 15:39:47 +0530] rev 3388
evolve: use phases.new-commit config to retain phase information (issue5720)
Since the previous patches replaced the use of graftstate with evolvestate and
we don't graft anymore on evolve --continue, we have now the capability to fix
underlying bugs. This patch makes sure we use the phases.new-commit config to
make a new commit of the same phase as that of the predecessor.
Tests added in the previous patch shows the bug being fixed.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 09 Jan 2018 15:33:57 +0530] rev 3387
tests: add a test demonstarting lose of phase in `hg evolve`
This patch adds a new test file which demonstrates the lose of phase information
when hg evolve command runs into conflict. This is algo bug5720. The upcoming
patch will fix it.
A new test file is added as existing test files serve their own purpose and are
already cluttered.
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 06 Jan 2018 19:07:43 +0530] rev 3386
evolve: add a utility fn to check validity of opts passed to `hg evolve`
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 06 Jan 2018 18:48:15 +0530] rev 3385
evolve: don't use graftstate for continuing `hg evolve`
Before this patch, if user runs `hg evolve`, we read the evolve state, write a
graftstate from that information and run graft command. This patch replaces that
logic with new logic which does not depends on the graft state.
The new logic is very filtered part of logic from graft command. We did not
require a lot of opts checking and filtering revs logic from the graft command
as our use case is fixed.
This is the start of series/work which will make `hg evolve` better and have
a good statefile for itself.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 09 Jan 2018 23:42:57 +0530] rev 3384
topics: add a new templatekeyword `topic`
This patch adds a new templatekeyword topic which can be used to list the topic
of the changeset when using commands which supports templating.
Boris Feld <boris.feld@octobus.net> [Wed, 10 Jan 2018 10:54:02 +0000] rev 3383
packaging: update MANIFEST.in to include new tutorial files
I forget to update the MANIFEST.in file when important the new tutorial files.
This commit fix that.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Dec 2017 23:40:42 +0100] rev 3382
test-compat: merge mercurial-4.2 into mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Dec 2017 23:40:40 +0100] rev 3381
test-compat: merge mercurial-4.3 into mercurial-4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Dec 2017 23:40:39 +0100] rev 3380
test-compat: merge stable into mercurial-4.3
Boris Feld <boris.feld@octobus.net> [Wed, 25 Oct 2017 11:27:04 +0200] rev 3379
test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net> [Tue, 04 Jul 2017 14:55:50 +0200] rev 3378
test: add missing cycle test
Also fix precursors to break on obs markers cycles.
Boris Feld <boris.feld@octobus.net> [Mon, 08 Jan 2018 17:38:58 +0100] rev 3377
Small typos fixing in the topic tutorial
Boris Feld <boris.feld@octobus.net> [Mon, 08 Jan 2018 11:46:53 +0100] rev 3376
doc: import the training support
Import the training support which was stored in a private-repository before.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Jan 2018 23:20:30 +0100] rev 3375
branching: merge with stable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 05 Jan 2018 17:15:43 +0530] rev 3374
evolve: use new trouble names in commit messages
There is case when we add trouble to the commit message while using `hg evolve`.
This match makes sure, we use the new trouble names. The hash changed because it
depends on commit messages.
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 09 Dec 2017 08:19:07 +0530] rev 3373
evolve: use compat.TROUBLES to show troubles in user interface
compat.TROUBLES is a dict which contains the trouble name for each trouble
according to the hg version user is using.
All of the replacements are related to `hg evolve` command.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 28 Dec 2017 04:09:02 +0530] rev 3372
topics: list only topic names in quiet mode
This will be helpful in bash completion.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 27 Dec 2017 23:51:18 +0530] rev 3371
topics: take logic to parse username to a separate function
In next patch we will be adding support to `hg stack` to show users, and this
logic will be required there too. So let's take it out in a separate function.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Jan 2018 22:50:21 +0100] rev 3370
changelog: fix a typo in the changelog
There is probably many others but that one is fixed now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Jan 2018 04:37:19 +0100] rev 3369
caches: switch to 'auto' warming by default
This options seems good let us make it the default.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Jan 2018 04:26:59 +0100] rev 3368
caches: add a 'auto' option for obshashrange cache warming
This option will only warm the cache when used as a server.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Jan 2018 04:26:51 +0100] rev 3367
caches: extract some config reading in 'shouldwarmcache'
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Jan 2018 03:35:07 +0100] rev 3366
caches: pass the transaction to the "shouldwarncache" logic
This will allow to have smarter mode about cache warming (eg: only warm them for
server transaction.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Jan 2018 22:17:27 +0100] rev 3365
caches: record 'desc' attribute on transaction
This is useful to know if a transaction if server side or not.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Jan 2018 04:37:49 +0100] rev 3364
caches: protect against missing connection
If the connection cannot be established, we should not try to use it.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 27 Dec 2017 05:01:30 +0530] rev 3363
evolve: don't show working directory obsolete message if we were on it
This patch tweaks showing wc obsolete message functionality to not show the
message if the operation led us to the same changeset we were on before and it
didn't obsoleted it. This make failed updates, update on current changeset and a
pull with no change omit showing the message.
This has some cons like if you are on rev 1 which is obsolete and you do `hg up
<revset>` where revset is some revset which resolves to the rev 1, we won't show
the warning as shown earlier.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 28 Dec 2017 03:12:54 +0530] rev 3362
prev: jump to parent's successor if parent is obsolete and topic is involved
`hg stack` shows a linear chain of commits even when they are not linear chain
and some changesets are obsoleted and have successors as separate head. This is
very nice to have a post evolution view of the stack. However when `hg prev` is
run on an unstable changeset whose parent is obsolete and does not topic but
parents successor has the topic, it shows no parent on the topic.
This patch makes `hg prev` update to parent's successor and make things follow
the stack order.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 28 Dec 2017 03:08:22 +0530] rev 3361
tests: add a test showing wrong behaviour doing `hg prev` on orphan cset
If there is an unstable changeset in the topic stack, whose parent is not a
part of stack but has a successor which is part of stack, hg stack does shows
them in linear order, but `hg prev` on that orphan changset says no parent on
that topic. However it should update to the successor of the changeset.
It will be fixed in the next patch.
Boris Feld <boris.feld@octobus.net> [Fri, 05 Jan 2018 09:51:07 +0100] rev 3360
test: update output to 02fdb8c018aa
Now that we have directaccess in core, we get a new warning message when
updating to a hidden changeset. Update the tests.
CORE-TEST-OUTPUT-UPDATE: 02fdb8c018aa
Boris Feld <boris.feld@octobus.net> [Fri, 05 Jan 2018 09:23:09 +0100] rev 3359
test: update output to 9b3f95d9783d
The unstable graph nodes are now shown with the character "*", update the test
outputs.
CORE-TEST-OUTPUT-UPDATE: 9b3f95d9783d
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 06:12:02 +0100] rev 3358
stablesort: use parent filtering in a place we forgot to
Freak merge striked again.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 06:18:50 +0100] rev 3357
obshashrange: add a progressbar to upgrade
This section is the slowest, have some progress idea would be useful.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 04:29:02 +0100] rev 3356
stablerange: add an sql index on subranges id too
This should speed up query that find super ranges.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 04:14:05 +0100] rev 3355
obshashrange: less brutal reset when receiving markers on existing node
We now target the affected ranges only. The implementation is still slow but
that should be better than what we had before.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 04:39:45 +0100] rev 3354
obshashrange: update the cache updating logic
Use the more modern option when available. (Same as the other caches).
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 04:24:37 +0100] rev 3353
stablerange: cleanup the update logic
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 04:23:45 +0100] rev 3352
stablesort: cleanup the update logic
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 04:22:36 +0100] rev 3351
firstmergecache: cleanup the update logic
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 04:21:53 +0100] rev 3350
depthcache: cleanup the update logic
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 04:12:02 +0100] rev 3349
changelog: add an entry about the obshashrange changes
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 04:35:40 +0100] rev 3348
stablerange: be more cautious when deleting the sql connection
This triggered some crash in further development. This also match what is done
elsewhere with this attribute.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 03:42:54 +0100] rev 3347
stablerange: clarify sql transaction logic
This should help concurrent access.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 03:30:13 +0100] rev 3346
stablerange: use mergepoint based algorithm for the official stable range
Changing the official stable range will impact all users of the infrastructure.
We update version number of the cache file and discovery methods to clarify
this.
We do no keep compatibility with the old method over the wire. The new algorithm
is much better and keeping compat is more work than we have time for right now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 03:07:14 +0100] rev 3345
stablerange: explicitly create a stablerange entry for branchpoint method
We are about to change the default.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Dec 2017 02:17:29 +0100] rev 3344
stablerange: have a mergepoint based sql backed class
Everything is so generic that getting a class is 3 line of codes.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Dec 2017 02:11:34 +0100] rev 3343
stablerange: introduce a sql backed version of the generic on disk cache
This is getting use close to actually using the new sorting and algorithm for
real.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Dec 2017 01:11:01 +0100] rev 3342
stablerange: add a base class for on disk stored stablerange class
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 02:13:19 +0100] rev 3341
stablesort: use on disk cache for test
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 02:01:58 +0100] rev 3340
caches: factorise the cache warming check
The old conditional was duplicated and hard to read. We factorise everything
into the `utility` module.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 00:06:07 +0100] rev 3339
stablerange: use repo-carried stablesortcache
That one is common to all and disk persisted
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 00:34:31 +0100] rev 3338
stablesort: expose the cache through the repository
Let have a unique instance, keep it warm and accessible.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Nov 2017 10:38:52 -0500] rev 3337
stablesort: implement an ondisk cache
Persisting the cache on disk will be important for large repositories.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 23:45:11 +0100] rev 3336
stablesort: realign a misaligned continue
We should make a better use of the jump cache now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 23:42:28 +0100] rev 3335
stablesort: remove some dead code
This closure is no longer in use.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 23:08:31 +0100] rev 3334
stablesort: abstract all cache access
This prepare an on disk version of the cache
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Dec 2017 20:04:50 +0100] rev 3333
stablerange: use first merge cache to skip over linear section
If we are to skip over a large section of the range, skipping everything until
the first merge seems like a good idea.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 20:46:10 +0100] rev 3332
stablerange: add a new 'firstmerge' cache
This cache store the first merge ancestors of a changesets. This is useful to
avoid iteration over the changelog when building stablerange.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 20:17:11 +0100] rev 3331
stablerange: drop unused `until` utility
We no longer needs this function.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 19:47:19 +0100] rev 3330
stablerange: use cached size data instead of walking the graph
Less iteration is better.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 17:56:38 +0100] rev 3329
stablesort: record previous segment size in the jump
That was, we can skip over a full jump without walking it. We'll make use of
this in the next changeset.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 17:59:14 +0100] rev 3328
stablesort: move jump recording inside the exclusive function
This will allow use to record to cache size of segment in a later changeset. If
the exclusive set is empty, we need to record it outside that function.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 17:49:41 +0100] rev 3327
stablerange: compute jump size after jump retrieval only
This prepares the caching of jump sizes.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 03:49:48 +0100] rev 3326
stablesort: warm jump cache more efficiently
We no longer for a full depth iteration for all request:
- we exit early for non-merge,
- for merge, we only iterate over the exclusive area.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 03:39:56 +0100] rev 3325
stablesort: use a regular dict for jumps
This will help knowing what revision we have already queried or not.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 15:51:05 +0100] rev 3324
stablerange: use the jump information for faster iteration
Instead of doing a full iteration over the exclusive set, we compare the jump
information instead. This perform the same kind of logic than before but will
allow for much faster iteration once all the caches are in place.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 02:46:05 +0100] rev 3323
stablesort: expose the jumps sequence to other code
The stable range needs it to build exclusive subrange efficiently.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 16:20:26 +0100] rev 3322
stablesort: use 'depth' in mergepoint tie breaker
The parents with the most depth will is considered lower. It has a couple of
advantages.
1) the more shallow parent probably have less exclusive revision,
2) it makes Oedipus merge behave like close to the linear case,
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 13:41:33 +0100] rev 3321
stablesort: rework jump gathering
The old code was buggy in some case, the new code give the same result as the
'headstart' version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 12:36:45 +0100] rev 3320
stablesort: stop recording jump type
There are no mature user of this "jump type" data and the current implementation
is known to be buggy. So we drop the logic for now. This will make on disk
storage simpler. The data will be reintroduced later
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 12:29:02 +0100] rev 3319
stablesort: pass a jump recording function instead of a list
This seems cleaner to abstract the underlying storage to the lower level. This
also makes use more flexible about jump detection.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 12:27:17 +0100] rev 3318
stablesort: minor indent fix
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 12:19:59 +0100] rev 3317
stablesort: clarify subcall to the exclusive side
Before doing deeper rework of this logic, we tackle the simplest parts.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 13:18:49 +0100] rev 3316
docgraph: update test output with new output
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Dec 2017 09:04:16 +0100] rev 3315
stablesort: record, cache and reuse jump
Iterating below a merge means two things:
1) iterate over the part exclusive to the higher parents,
2) iterate from the lower parents.
While iterating on the exclusive part, there will be case were we just go the
next natural parent, and case were we'll have to "jump" to another revision. If
we record all point this "jump" happens and their target, we can easily
reproduce the iteration in the future. With that information we can iterate over
the exclusive part of the merge without having to compute it entirely.
In addition we store the reason of the jump. This will help the stable range
processing later.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Dec 2017 18:49:34 +0100] rev 3314
stablesort: fix head start computation
The recursion was wrong and provided wrong result.
As a side effect, this seems to hint that `stablesort_mergepoint_bounded` is not
giving the right result for complex set.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Dec 2017 08:36:52 +0100] rev 3313
stablesort: avoid attempting to sort a tuple
This seems silly.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Dec 2017 07:20:14 +0100] rev 3312
stablerange: use the filterparents utility
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Dec 2017 07:10:43 +0100] rev 3311
stablesort: use the filtered parents utility
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Dec 2017 06:50:57 +0100] rev 3310
depthcache: use parents filter in depth cache
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Dec 2017 06:48:49 +0100] rev 3309
parents: add a utility to filter parents
There is various strange case of merge out there that needs to be handled. We
add an utility function to handle them all.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Dec 2017 01:53:20 +0100] rev 3308
stablerange: abstract the bit able to store cache into sql
The part about actually storing the range is independent of the algorithm, so we
should extract this before using it for the next iteration.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Dec 2017 00:40:07 +0100] rev 3307
stablerange: split pure algorithm part from the on disk cache
The stable cache file is getting long, we split the logic about keeping data on
disk into a dedicated file.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 05:17:04 +0100] rev 3306
stablerange: add an assert to detect buggy range
Nothing can be negative in there, we add an assert to make sure it is so.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 04:57:19 +0100] rev 3305
stablerange: warn cache for all relevant ancestors range
Warming cache in the right order will prevent recursion to happens and unlock
usage on large repository.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 04:48:15 +0100] rev 3304
stablesort: move parent range computation into its own method
Now that we have running code, we'll need to avoid too deep recursion. We
extract the piece dealing with the parent range before we write more code to
warm it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 03:58:22 +0100] rev 3303
stablerange: drop the basic inheritance from the 'mergepoint' version
All necessary bits are implemented now (except for warmup which we explicitly
bypass for now).
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 12:12:12 +0100] rev 3302
stablerange: cache known subrange at the stablerangecached level
That way, the 'stablerange_mergepoint' class also benefit from it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Dec 2017 22:05:34 +0100] rev 3301
stablerange: use sort cache to build 'mergepoint' information
Using the walk cache gives use a better complexity we need to scale. There are
further improvement we could make, but this is a good first step.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 03:31:28 +0100] rev 3300
stablesort: make the iteration from head available to all
This will be useful for the stablerange code to work properly.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Dec 2017 21:17:28 +0100] rev 3299
depth: fix compare mode for `debugdepth`
The compare mode was broken for silly reasons.
Boris Feld <boris.feld@octobus.net> [Fri, 15 Dec 2017 10:14:42 +0100] rev 3298
memfilectx: changectx argument is not mandatory
As changectx argument is now mandatory for memfilectx, add a compatibility
layer to pass it when necessary.
The commit that made the parament mandatory in core is 8a0cac20a1ad
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Dec 2017 23:52:32 +0100] rev 3297
branching: merge stable into default
Boris Feld <boris.feld@octobus.net> [Thu, 14 Dec 2017 00:53:55 +0100] rev 3296
amend: fix a typo in amend help text related to the extract option
s/extra/extract/
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Dec 2017 13:19:56 +0100] rev 3295
topic: fix compatibility with 4.3
A compatibility fixes ended up being overlooked, we are bringing it back into
the main branch.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Dec 2017 04:18:17 +0100] rev 3294
branching: merge stable back into default
New version has been released, hooray.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Dec 2017 04:16:54 +0100] rev 3293
packaging: mark stable change as bugfix dev version
This help reduce confusion when installing non-tagged changeset.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Dec 2017 04:15:26 +0100] rev 3292
Added tag 7.1.0 for changeset 06a3cb594956
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Dec 2017 03:02:25 +0100] rev 3291
packaging: prepare release 7.1.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Dec 2017 04:08:22 +0100] rev 3290
branching: revert "stable" change into default
The expected output for "default" is still the same.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Dec 2017 18:30:15 +0100] rev 3289
test-compat: merge mercurial-4.2 into mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Dec 2017 18:30:14 +0100] rev 3288
test-compat: merge mercurial-4.3 into mercurial-4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Dec 2017 16:32:03 +0100] rev 3287
test-compat: merge stable into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Dec 2017 16:12:38 +0100] rev 3286
test: backed out test change from changeset a18ca224e812
The related mercurial changeset, ad5f2b923b0d, is not in the stable branch yet.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Dec 2017 16:02:42 +0100] rev 3285
test: backed out output change from 85ab7d2d9fd6
Mercurial core default branch does not have the related changeset yet
(a7e49a5b3e6f).
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Dec 2017 03:21:46 +0100] rev 3284
branching: merge with stable
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 12 Dec 2017 00:27:08 +0530] rev 3283
obsnote: warn if user try to store a note in obsmarker on an older hg
Support to store a note in obsmarker is from hg>=4.4. We have added notes
support to all the evolve commands but we do support versions which don't
support storing note in obsmarker. Warn if user tries to store a note in older
hg.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Dec 2017 02:16:58 +0100] rev 3282
topic: use 'hookargs' over 'tr.changes' for flow control
The 'tr.changes' attribute do not exists until 4.2.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Dec 2017 01:27:12 +0100] rev 3281
topic: move function wrapping from reposetup to uisetup
Having the function un reposetup means they get wrapped over and over again for
long lived process.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Dec 2017 00:16:55 +0100] rev 3280
test: publish the root of the repo in flow reject-untopiced
The lack of default branch confuses older version
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Dec 2017 01:10:44 +0100] rev 3279
genericcaches: handle the lack of util.timer in 4.1
We do the same trick as usual.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Dec 2017 23:47:25 +0530] rev 3278
topics: fix `hg stack` in case of split
This patch fixes the behaviour of hg stack which throws an error in some cases
when there are multiple successors. The case of divergence is not handled yet.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Dec 2017 23:33:50 +0530] rev 3277
tests: add a test showing traceback on `hg stack` in case of split
The traceback will be fixed in the next patch.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Dec 2017 15:49:22 +0100] rev 3276
branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Dec 2017 09:33:32 +0100] rev 3275
test-compat: merge mercurial-4.2 into mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Dec 2017 09:33:16 +0100] rev 3274
test-compat: merge mercurial-4.3 into mercurial-4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Dec 2017 09:33:04 +0100] rev 3273
test-compat: merge stable into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Dec 2017 09:21:47 +0100] rev 3272
changelog: add an entry for the split+branch fix
The world needs to know.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 22:08:54 +0100] rev 3271
branching: merge with stable
Boris Feld <boris.feld@octobus.net> [Sun, 10 Dec 2017 21:44:10 +0100] rev 3270
split: force the branch to fix the split bug
Also restore it after the split
Boris Feld <boris.feld@octobus.net> [Sun, 10 Dec 2017 21:41:56 +0100] rev 3269
split: add a test demonstrating that split doesn't take the right branch
Also add a test to check that the dirstate is in the right state in case the
user abort the split.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 05:04:41 +0100] rev 3268
stablerange: compute the subrange closure on an unfiltered repository
This avoid various overhead from filtering.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 26 Nov 2017 10:34:46 -0500] rev 3267
stablesort: write a flat version of the algorithm
This new version never needs to iterate over the full repository even when merge
are encountered.
Having the algorithm flat also prepare caching works since the iteration
sequence can we expressed with a couple of flat loop.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 18:53:23 -0500] rev 3266
stablesort: simplify processing of non-merge changesets
As long as a changeset as only one parent, the next element in the sort (starting
from the head) has to be that parent. We detect and take advantage of that
shortcut in the non-merge case.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 18:42:23 -0500] rev 3265
stablesort: extract a '_revsfrom' method
Walking from the revision is usually simple unless the revision is a merge.
Having this walking logic isolated will help us refine it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 01:48:32 +0100] rev 3264
stablerange: use the new cache object in the 'mergepoint' version
Every improvement to the cache should reflect on the stable range from there.
Since we no longer use the basic sort function, we can simplify the inheritance
by dropping one layer.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 18:31:37 -0500] rev 3263
stablesort: introduce a cache object
The object is not caching anything yet, but the API are getting into place.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 16:05:09 -0500] rev 3262
stablesort: start implementing more advanced version of headstart sorting
Now that we can validate the sort with a basic implementation, we can start
implementing a version that will support caching and other goodies.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 01:38:48 +0100] rev 3261
stablerange: make use of the limit argument in 'mergepoint'
This will eventually avoid doing full iteration on ancestors of the head when
retrieving the range content.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 01:33:39 +0100] rev 3260
stablerange: introduce a smarte version of stablerange for 'mergepoint'
This implementation will using caching and smarter algorithm based on these
cache. For now it inherit most of it code from the dummy version for
convenience. The inheritance to the dummy version should be dropped eventually.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 01:26:40 +0100] rev 3259
stablerange: introduce an intermediary abstract class for caching
The 'branchpoint' and 'mergepoint' based stablerange class will need similar
cache, we introduce an abstract class to take care of that first.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 01:06:16 +0100] rev 3258
stablerange: introduce a basic-mergepoint method
This method use the new 'mergepoint' based stable sorting. It is expected to be
eventually better than branch point to stable range: more stable, easier to
cache, etc. Having a basic implementation will allow use to validate more
advanced implementation.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 26 Nov 2017 11:58:35 -0500] rev 3257
stablesort: add a new test to check for fully independant branches
Apparently, this was not covered.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 17:37:37 -0500] rev 3256
stablesort: add a --limit argument
This will be useful when using stable sort within stable range.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 15:14:50 -0500] rev 3255
stablesort: introduce a mergepoint based method focused on head
The things we needs for stable range is head centric. So we simplify the issue
by focussing on head.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 04:09:17 -0500] rev 3254
stablesort: introduce a "mergepoint" method
The mergepoint method decide order from merge. This allow to directly reuse a
the full sort of one of the parent, and should simplify caching.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 00:20:06 +0100] rev 3253
stablerange: fallback to a more naive approach to find subrange
As suspected, using "bheads" was bit good enough in some case and we have to
fall back to the approach used in "basic".
On the evolve repo (about 3K changeset) this approach is about 60% slower than
the previous (wrong) code.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Dec 2017 22:49:07 +0100] rev 3252
stablebranch: avoid overlap between subrange
Subrange overlap make things more complicated and less efficient. We fix the
computation done in the "cached" version of the stablerange cache. This bring
things in line with the result produced by the basic version.
Since we already bumped the format version since the last release, I don't
things we need to do anything else.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Dec 2017 22:37:10 +0100] rev 3251
stablerange: introduce an 'basicstablerange'
This class hold all the basic of stable range but the part specific to the
sorting.
This allow to clearly express what is expected from each method and to generate
tests output to be validated against the more complex implementation.
While writing this, we spotted a bug in the current stable range implementation.
Fix coming.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Nov 2017 11:18:53 -0500] rev 3250
stablerange: extract the core API into a 'stablerangecore' class
To clarify what the code is doing without all the caching and algorithmic
improvement, we extract a core class that highlight the basic API expected from
the class.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Dec 2017 22:17:00 +0100] rev 3249
stable-branch: setup tests to use a specific method by default
This will make future test simpler.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Nov 2017 10:53:21 -0500] rev 3248
stablerange: rework the debug command to allow for multiple method
Similar to what we did for the other debug command related to sorting, we
prepare for the arrival of multiple method to produce the result (including
simple implementation that are easy to read but do not scale).
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Dec 2017 17:34:33 +0100] rev 3247
deptcache: make sure we warm the dept cache before warming the obsdiscovery
The depthcache need to a warmed a bit more agressively
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Nov 2017 16:37:24 +0100] rev 3246
stablesort: add a 'method' argument to the debugstablesort command
Let start experimenting with other way to do stable sorting.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 02:58:47 -0500] rev 3245
stablesort: rename function to stablesort_branchpoint
We are about to test different approach to stable sorting. We clarify that the
existing method is sorting from branch points.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Dec 2017 17:14:53 +0100] rev 3244
stablerange: update the filename to avoid cache confusion
The schema validation seems to not work as well as intended, we update the file
name to make sure there will be no confusion.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Nov 2017 16:34:50 +0100] rev 3243
stablesort: extract in its own module
We are going to introduce variants, cache and more complex logic, we move that
in its own repository beforehand.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 29 Nov 2017 12:48:45 -0500] rev 3242
compat: in depth cache, only use cachevfs when available
We support older version without the new vfs.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Nov 2017 16:53:29 +0100] rev 3241
depthcache: issue a progress bar when loading the depth cache
The operation can be in the minute order of magnitude of some larger repository.
We better keep the user entertain when he wait.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 22 Nov 2017 15:05:15 +0100] rev 3240
depthcache: move to a dedicated object and storage
The SQL cache was overkill and fragile. We move to a dedicated storage using the
new generic class.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 22 Nov 2017 13:44:44 +0100] rev 3239
cache: adds debug details about what the content of the update
Having more data in debug is good, we add a small method to help providing them.
This code was headed for core during the 4.3 cycle but never made it there. So
we starts with a copy in the evolve repository.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 22 Nov 2017 13:40:47 +0100] rev 3238
cache: introduce a changelogsourcebase class
This abstract class will help code that need a cache tracking the changelog
content (eg: the branchmap cache). The cache key used is the same as what the
branchmap uses.
This code was headed for core during the 4.3 cycle but never made it there. So
we starts with a copy in the evolve repository.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 22 Nov 2017 13:40:05 +0100] rev 3237
cache: introduce an abstract class for cache we can upgrade incrementally
Right now each class implements their own mechanism for validation, and
update. We start introducing abstract class to ultimately allow more
unification of the cache code.
The end goal of this series is to introduce a cache for some obsolescence
property, not to actually implement the cache. However, taking advantage of
adding a new cache to introduce the abstract class seems like a win.
This code was headed for core during the 4.3 cycle but never made it there. So
we starts with a copy in the evolve repository.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 22 Nov 2017 16:57:07 +0100] rev 3236
depth: basic debugdepth implementation and test
This will come very handy to validate more advanced implementation later.
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 09 Dec 2017 06:13:28 +0100] rev 3235
topics: add a config to reject draft changeset without topic on a server
This patch adds a new config option experimental.topic-mode.server which if
sets to True, the server won't accept any draft changeset without topic on it.
In case both `experimental.topic-mode.server` and
`experimental.topic.publish-bare-branch` are set to True, the enforce-topic one
is respected.
Tests are added for it. The CHANGELOG file is also updated mentioning about the
config option.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Dec 2017 05:05:39 +0100] rev 3234
test: update output to ad5f2b923b0d
A new bundle2 capabilities have been added (related to bookmark). So we have to
update the test output.
CORE-TEST-OUTPUT-UPDATE: ad5f2b923b0d
Denis Laxalde <denis@laxalde.org> [Thu, 07 Dec 2017 20:34:18 +0100] rev 3233
touch: shorten touch's docstring to make it fit into a one line
This make it show completely (untruncated) in `hg help -e evolve`.
This follows up on fed946edc293 where the docstring got unwrap for that
purpose and thus made the line length exceed 80 columns.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Dec 2017 18:31:08 +0100] rev 3232
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 06 Dec 2017 02:08:37 +0100] rev 3231
help: promote "amend" to important command
Recent change to what command we advertise as "basic". It turn out "amend" was
not part of one of them. Since "amend" is one of the core command of a rewriting
workflow, we promote it to "basic command".
Kyle Lippincott <spectral@google.com> [Tue, 05 Dec 2017 16:11:08 -0800] rev 3230
help: fix output for `hg help -e evolve` wrt 'touch' command
Currently, when running `hg help -e evolve`, the output looks like this on my
screen:
touch create successors that are identical to their predecessors
except
With this change, it looks like this:
touch create successors that are identical to their predecessors
except for the changeset ID
Kyle Lippincott <spectral@google.com> [Tue, 05 Dec 2017 16:08:50 -0800] rev 3229
help: remove a few commands from `hg` (no args) command list
According to `hg help -e evolve`, the following commands come from the evolve
extension:
amend
evolve
fold
metaedit
next
obslog
pdiff
previous
prune
pstatus
split
touch
uncommit
If one runs `hg` without arguments, commands that are prefixed with a ^
character are shown. From the previous list, this includes:
evolve
fold
metaedit
next
previous
prune
split
touch
uncommit
It feels several of these commands are not "basic commands" that someone who
has never used hg before might care about. They probably also do not come
close to passing the "toothbrush test": things that users are likely to use
every day. This commit removes these items from the list: metaedit, touch,
uncommit
This means the following are kept:
evolve
fold
next
previous
prune
split
Kyle Lippincott <spectral@google.com> [Mon, 04 Dec 2017 14:27:27 -0800] rev 3228
typos: fix typos in several locations
A user at Google attempted to fix our local copy because they had noticed a
typo (accross instead of across), but this will just get overwritten on our
next import. This commit fixes that case and a few others that my editor found.
Most of the typos were in comments, but user-visible output is changed in a few
cases:
- accross -> across
- splitted -> split
- ambigious -> ambiguous
- evolvestte -> evolvestate (this is in a ui.debug, so not often seen)
There is another typo that I wanted to fix, but didn't: 'supercede' is spelled
'superseed' in a few locations. I believe this is only internal to the
extension, instead of being user-visible, so while it could probably be fixed
easily, I wasn't 100% sure it didn't end up in a file on disk or something and
might cause problems, so I left it alone.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Dec 2017 13:53:04 +0100] rev 3227
topic: use more protective code to access current topic
There are some code path where the operation is not properly initialized and
lack the new attributes. While the lack of initialization, is suspicious and
I've not be able to pin point case where this happens.
Currently the code crash when it encounter this situation. So we make the code
more resistant to this case to prevent bad user experience.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Dec 2017 13:21:57 +0100] rev 3226
topic: use more protective code to access publishing code
There are some code path where the operation is not properly initialized and
lack the new attributes. While the lack of initialization, is suspicious and
I've not be able to pin point case where this happens.
Currently the code crash when it encounter this situation. So we make the code
more resistant to this case to prevent bad user experience.
Kyle Lippincott <spectral@google.com> [Mon, 04 Dec 2017 14:27:27 -0800] rev 3225
typos: fix typos in several locations
A user at Google attempted to fix our local copy because they had noticed a
typo (accross instead of across), but this will just get overwritten on our
next import. This commit fixes that case and a few others that my editor found.
Most of the typos were in comments, but user-visible output is changed in a few
cases:
- accross -> across
- splitted -> split
- ambigious -> ambiguous
- evolvestte -> evolvestate (this is in a ui.debug, so not often seen)
There is another typo that I wanted to fix, but didn't: 'supercede' is spelled
'superseed' in a few locations. I believe this is only internal to the
extension, instead of being user-visible, so while it could probably be fixed
easily, I wasn't 100% sure it didn't end up in a file on disk or something and
might cause problems, so I left it alone.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 04 Dec 2017 17:16:01 +0530] rev 3224
tests: add a test for newline in obsnote
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 04 Dec 2017 15:50:32 +0530] rev 3223
obsnote: don't add '' to note while showing it in obslog
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Dec 2017 23:40:08 +0530] rev 3222
obsnote: add an entry in CHANGELOG about it
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 17 Nov 2017 03:14:47 +0530] rev 3221
amend: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 17 Nov 2017 03:14:31 +0530] rev 3220
uncommit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 17 Nov 2017 03:14:20 +0530] rev 3219
fold: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 17 Nov 2017 03:14:08 +0530] rev 3218
metaedit: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 17 Nov 2017 03:13:52 +0530] rev 3217
prune: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 17 Nov 2017 03:06:06 +0530] rev 3216
split: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 12 Nov 2017 01:54:13 +0530] rev 3215
touch: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 12 Nov 2017 01:35:51 +0530] rev 3214
obslog: add initial support for showing note in obslog
This add a very basic and initial support for showing the note stored in the
obsmarker in obslog to test the upcoming changes which adds support. The UI is
not finalised and will be improved in the patches after support is added and we
have tests with the current output.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 12 Nov 2017 01:26:30 +0530] rev 3213
cmdrewrite: add a utility function to make sure note is of valid format
Upcoming patches will add support to store a note on various evolution related
commands by storing that in obsmarker. Since the obsmarker metadata field can't
store things above 255 bytes, this patch introduces a function which will be
used to make sure note is under 255 bytes and does not contain newlines. We
don't want notes to be multilines.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Nov 2017 12:14:36 -0500] rev 3212
branching: merge with stable
Boris Feld <boris.feld@octobus.net> [Wed, 29 Nov 2017 20:50:37 -0500] rev 3211
test: remove dangling --config in test-metaedit.t
Martin von Zweigbergk <martinvonz@google.com> [Thu, 30 Nov 2017 21:31:14 -0800] rev 3210
tests: fix previously accidentally matching regexes in test-touch.t
Before Mercurial commit 6d5718e39657 (run-tests: make "| foo (re)" not
match everything, 2017-11-29), regexes like "| foo", which are common
in graphlog output, would incorrectly match anything. After that
commit, they match as they should, meaning that either "" or " foo"
would match, but not a "| foo". This commit fixes the test by
replacing the "|" by "." rather than escaping with "\|" since that
would make the graph harder to read.
Boris Feld <boris.feld@octobus.net> [Thu, 30 Nov 2017 12:09:21 -0500] rev 3209
test: update test-discovery-obshashrange.t
Boris Feld <boris.feld@octobus.net> [Wed, 29 Nov 2017 20:50:37 -0500] rev 3208
test: remove dangling --config in test-metaedit.t
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 24 Nov 2017 23:46:56 -0500] rev 3207
serverminitopic: also avoid reading
Avoiding to write cache for filter where topic applies is a good step, but we
need to also avoid reading it. Existing branchmap cache might exists before the
turned the feature on.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Nov 2017 08:00:17 +0100] rev 3206
topic: introduce a minimal extensions to enable topic on the server
This small extensions simply expose topic in the branch. This should help
getting minimal support for topic from various hosting solution (eg: bitbucket
maybe ?) See extensions help for details.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 17:47:02 -0500] rev 3205
branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 24 Nov 2017 22:36:57 +0100] rev 3204
pusoperation: wrap pushoperation __init__ directly
This is how remote names does it. Using the same method should helps with
compatibility when mixing the two extensions.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 23 Nov 2017 00:29:52 +0100] rev 3203
hgignore: fix .err matching patterns
We don't want to ignore .err file outside of the 'tests/' directory.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 19 Nov 2017 04:47:10 +0100] rev 3202
changelog: fix 7.0.0 release date
We date was the same as 6.8.0 for some unkown reason. We now use the date of the
tag.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Nov 2017 00:51:31 +0100] rev 3201
changelog: mention the improved verbosity handling
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Nov 2017 00:49:09 +0100] rev 3200
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Nov 2017 00:48:08 +0100] rev 3199
changelog: update missing release date
Martin von Zweigbergk <martinvonz@google.com> [Thu, 16 Nov 2017 11:38:33 -0800] rev 3198
summaryhook: respect -q flag
There's no test coverage, but it seems pretty obvious and I don't care
enough to write a test.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 16 Nov 2017 11:32:24 -0800] rev 3197
summaryhook: remove unused function
Martin von Zweigbergk <martinvonz@google.com> [Thu, 16 Nov 2017 11:22:38 -0800] rev 3196
evolve: make prev/next respect --quiet flag (issue5742)
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Nov 2017 00:30:15 +0100] rev 3195
packaging: merge 7.0.1 into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Nov 2017 00:16:37 +0100] rev 3194
packaging: mark version as development version.
This helps reduce confusion when installing non tagged version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Nov 2017 00:15:29 +0100] rev 3193
Added tag 7.0.1 for changeset e7a2a6158077
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Nov 2017 00:14:01 +0100] rev 3192
packaging: prepare version 7.0.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Nov 2017 00:13:10 +0100] rev 3191
packaging: update tested-with version
Mercurial 4.4.1 is out.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Nov 2017 00:12:38 +0100] rev 3190
changelog: mention the --publish bugfix
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Nov 2017 23:15:20 +0100] rev 3189
test-compat: merge mercurial-4.2 into mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Nov 2017 23:15:19 +0100] rev 3188
test-compat: merge mercurial-4.3 into mercurial-4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Nov 2017 23:15:18 +0100] rev 3187
test-compat: merge stable into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Nov 2017 23:11:00 +0100] rev 3186
compat: fix comp ability of the new phase logic for Mercurial < 4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Nov 2017 19:08:36 +0100] rev 3185
config: clarify that config is only enabled on the repository is it setup for
This changeset change nothing but clarify a few thing. The ui passed to
'reposetup' is the same as 'repo.ui'. However we would like to clarify things a
bit.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Nov 2017 23:04:04 +0100] rev 3184
branching: merge with an old and strange head
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 25 Jul 2017 02:29:28 +0200] rev 3183
branching: default into stable
It is time for a new release
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Nov 2017 21:05:59 +0100] rev 3182
topic: fix new head detection when using --publish on a topic
I suspected a bug lurking around there and I found one.
Boris Feld <boris.feld@octobus.net> [Tue, 14 Nov 2017 18:35:25 +0100] rev 3181
effect-flag: fix obsfate verb hooking
Mercurial core commit b81ad5b78a81 renamed a the function we hooked on and
update its signature. Update the code to detect that, which fixes tests
errors.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Nov 2017 14:07:19 +0100] rev 3180
test: update test output for effect flag by default
Now that effect flag is in core and turned on by default, this affect topic test
that did not had the evolve extension turned on all the time.
CORE-TEST-OUTPUT-UPDATE: a7e49a5b3e6f
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Nov 2017 14:21:19 +0100] rev 3179
tests: add more testing of pulling with various setting
We checks for client/server with various combination:
* extensions enabled,
* extensions enabled but exchange disabled,
* extensions disabled,
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Nov 2017 13:05:39 +0100] rev 3178
test-compat: merge mercurial-4.2 into mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Nov 2017 13:05:38 +0100] rev 3177
test-compat: merge mercurial-4.3 into mercurial-4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Nov 2017 13:05:37 +0100] rev 3176
test-compat: merge stable into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Nov 2017 13:04:58 +0100] rev 3175
branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Nov 2017 12:57:43 +0100] rev 3174
changelog: add details about the pushkey related fix
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Nov 2017 12:36:27 +0100] rev 3173
wireproto: gracefully fail on http when trying to use older pushkey method
Previously the HTTP server would return a 500. It now returns a 410.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 07 Nov 2017 12:10:22 +0100] rev 3172
wireproto: avoid exposing pushkey abort for server without evolution
Client with evolution enabled will query the 'obsolete' pushley namespace if no
other way to request obsmarkers have been found. They will do this
unconditionally as long as no other obsolescence related capabilities have been
advertised by the server.
The call is "harmless" since the namespace will be empty if obsmarkers exchange
is disabled. However, since we forbid the use of pushkey for obsmarkers this
lead to unexpected crash report for up to date client talking to a server with
the evolve extensions but exchange disabled.
We fix the issue by serving the expected empty namespace in this case. We keep
forbidding the query if obsmarker exchange is enabled since new client should
have picked another more effective was to fetch the data first.
We also add some tests for this logic.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Nov 2017 19:22:32 +0100] rev 3171
obsdiscovery: enforce the config on the server too
Right now, setting 'experimental.evolution.obsdiscovery=no' disable obsolescence
markers discovery on client only. The server still advertise discovery related
capabilities.
We now also honor the config on the server side.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Nov 2017 00:48:25 +0100] rev 3170
packaging: mark default branch as development version
This help avoid confusion when installing version from the repository.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Nov 2017 00:47:11 +0100] rev 3169
branching: merge back stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 01 Nov 2017 23:58:27 +0100] rev 3168
test-compat: merge mercurial-4.2 into mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 01 Nov 2017 23:58:27 +0100] rev 3167
test-compat: merge mercurial-4.3 into mercurial-4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 01 Nov 2017 23:57:56 +0100] rev 3166
test-compat: merge stable into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Nov 2017 00:45:28 +0100] rev 3165
packaging: mark as development version
This help avoid confusion when installing non tagged version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Nov 2017 00:43:57 +0100] rev 3164
Added tag 7.0.0 for changeset c56c028f3802
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Nov 2017 00:33:14 +0100] rev 3163
packaging: prepare version 7.0.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Nov 2017 00:32:47 +0100] rev 3162
debian: drop outdate part of the description
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 02 Nov 2017 00:32:24 +0100] rev 3161
debian: update Mercurial version dependencies
The debian package now reflect the actual requirement of the extension in its
current version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 01 Nov 2017 23:51:55 +0100] rev 3160
branching: merge with stable to prepare version 7.0.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 01 Nov 2017 16:23:13 +0100] rev 3159
push: add a --publish flag
The new flag turns all element in the push to public changeset. This will help
experiment with diverse publishing workflow.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 01 Nov 2017 16:26:33 +0100] rev 3158
topic: add an option to automatically publish topic-less changeset
This new option will help playing with merge based workflow.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 30 Oct 2017 19:24:14 +0100] rev 3157
topic: add an option to enforce a single head per name in a repository
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 15 Oct 2017 00:07:21 +0530] rev 3156
revset: clean up some messy logic
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Oct 2017 09:03:48 +0200] rev 3155
evolve: rename --phasedivergent flag to --phase-divergent
This makes the whole things easier to read.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Oct 2017 09:02:25 +0200] rev 3154
evolve: rename --contentdivergent flag to --content-divergent
This makes the whole things easier to read.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Oct 2017 08:44:50 +0200] rev 3153
pushkey: forbid usage of pushley to exchange markers
The pushkey based protocol lacks many important feature and is very slow. We
disable it to prevent any usage by mistake.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Oct 2017 08:29:36 +0200] rev 3152
changelog: add an entry for 7.0.0 with recent change
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Oct 2017 04:41:17 +0200] rev 3151
compat: drop compat code for smartrevs.first
The 'first' method have been around for years.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Oct 2017 07:32:06 +0200] rev 3150
compat: drop compatibility dance around configoverride
This was introduced in hg-4.1 and we do no longer support lower versions.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 25 Oct 2017 04:45:31 +0200] rev 3149
compat: drop support for older exchange protocol
Their have been better alternative for years. In addition they have been
officially deprecated for quite some time. So we official stop support them to
ease the maintainance.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Oct 2017 14:30:48 +0200] rev 3148
compat: drop compatibility for 'streamres' prior to 4.1
We no longer support these version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Oct 2017 14:24:29 +0200] rev 3147
compat: drop the directaccess hacky extension
The user of this extension has forked their own version. We lighten our
maintenance burden and drop it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Oct 2017 14:23:31 +0200] rev 3146
compat: drop the inhibit hacky extension
The user of this extension has forked their own version. We lighten our
maintenance burden and drop it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Oct 2017 14:17:14 +0200] rev 3145
compat: drop 'lru.get' work-around for 3.9
We no longer support this version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Oct 2017 14:13:57 +0200] rev 3144
compat: stop working around 3.8 file cache limitation
We no longer support this version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Oct 2017 14:13:23 +0200] rev 3143
compat: simply the wrapping of '_destmergebranch'
All the version we support now use the same interface.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Oct 2017 14:12:37 +0200] rev 3142
compat: drop support for 3.8's '_destrebase' function
We no longer support this version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Oct 2017 14:11:28 +0200] rev 3141
compat: mark version 4.1 as the minimum version required
We dropped compatibility for version 3.8, 3.9 and 4.0.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 16:08:29 +0200] rev 3140
compat: drop compatibility for Mercurial <= 4.0
We are dropping compatibility with older mercurial version. This will help us
to clean up the code base.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 16:07:09 +0200] rev 3139
packaging: mark as development version
This helps avoid confusion.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 16:05:57 +0200] rev 3138
branching: merge with stable
Prepare the 7.0.0 line.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 16:04:23 +0200] rev 3137
packaging: mark version as development version
This helps to avoid confusion.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 16:02:37 +0200] rev 3136
branching: close mercurial-4.0 branch
We are dropping support for older Mercurial version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 16:02:10 +0200] rev 3135
branching: close mercurial-3.9 branch
We are dropping support for older Mercurial version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 16:01:07 +0200] rev 3134
branching: close mercurial-3.8 branch
We are dropping support for older Mercurial version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 15:55:12 +0200] rev 3133
util: add a small script to help with the merging of branches
We have multiple test-compat branches merging them can be a bit tedious. We add
a nice script doing so for us.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 15:50:22 +0200] rev 3132
test-compat: merge mercurial-3.9 into mercurial-3.8
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 15:50:22 +0200] rev 3131
test-compat: merge mercurial-4.0 into mercurial-3.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 15:50:21 +0200] rev 3130
test-compat: merge mercurial-4.1 into mercurial-4.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 15:50:20 +0200] rev 3129
test-compat: merge mercurial-4.2 into mercurial-4.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 15:50:19 +0200] rev 3128
test-compat: merge mercurial-4.3 into mercurial-4.2
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 15:50:18 +0200] rev 3127
test-compat: merge stable into mercurial-4.3
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 15:43:42 +0200] rev 3126
Added tag 6.8.0 for changeset ec0bbf26ce7f
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 15:41:58 +0200] rev 3125
packaging: prepare version 6.8.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 15:25:00 +0200] rev 3124
flake8: rename some ambiguous identifier
Apparently, pyflakes declared war on 'l'.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 23 Oct 2017 15:11:48 +0200] rev 3123
topic: instroduce a fast path when computing stack
We do some stack related computation during transaction now. The current
inefficiency of the revset is hurting us too much. We pre-compute a subset using
native set operation to speed things up.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 23:03:11 +0200] rev 3122
branching: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 22:56:52 +0200] rev 3121
test-compat: merge future 6.7.0 in mercurial-3.8 branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 22:56:21 +0200] rev 3120
test-compat: merge future 6.7.0 in mercurial-3.9 branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 22:54:58 +0200] rev 3119
test-compat: merge future 6.7.0 in mercurial-4.0 branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 22:54:41 +0200] rev 3118
test-compat: merge future 6.7.0 in mercurial-4.1 branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 22:54:08 +0200] rev 3117
test-compat: merge future 6.7.0 in mercurial-4.2 branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 22:52:55 +0200] rev 3116
test-compat: merge future 6.7.0 in mercurial-4.3 branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 22:44:12 +0200] rev 3115
obsfate: re-enables operation display in obsfate
Now that the compatibility checks are in a good shape we can re-enable more
noise in it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 22:31:07 +0200] rev 3114
changelog: update to reflect latest change
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 18:45:33 +0200] rev 3113
test-compat: merge with mercurial-3.9 branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 18:44:52 +0200] rev 3112
test-compat: merge with mercurial-4.0 branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 22:22:14 +0200] rev 3111
compat-test: remove topic related tests for 3.9
The extension is no longer supported for 3.9
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 18:43:55 +0200] rev 3110
test-compat: merge with mercurial-4.1 branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 18:41:05 +0200] rev 3109
test-compat: merge with mercurial-4.2 branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 18:34:22 +0200] rev 3108
test-compat: merge with mercurial-4.3 branch
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 18:25:05 +0200] rev 3107
branching: merge with mercurial-4.3 branch creation
The other changeset marks the point were 'stable' is no longer about Mercurial
version 4.3.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 20:04:13 +0200] rev 3106
test-compat: revert output changes from phase renaming
We keep using the old name for the older version. test has to reflect that.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 19:32:18 +0200] rev 3105
test-compat: revert output changes related to temporary amend commit
This backed out changeset 06844693bb21 and other related changes.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 16:07:40 +0200] rev 3104
test-compat: revert ouput change to blackbox
This backed out changeset 86be70ae38b9.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 16:07:06 +0200] rev 3103
test-compat: revert ouput related to operation
This effectively backs out 4b951a9a6895.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 17:30:20 +0200] rev 3102
test-compat: revert output change in rebase
This backed out changeset d12c82fd1143 and a couple of other changes.
The change are not relevant in Mercurial < 4.4/
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 15:31:06 +0200] rev 3101
test-compat: revert output change from bundle2 capability
This backout changeset dd3eda2f7a89 not relevant for verison < 4.4.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 15:30:42 +0200] rev 3100
test-compat: revert output change on pull report
The revert the changeset from 8feb2cae7eae. Not relevant for verison < 4.4.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 15:30:16 +0200] rev 3099
test-compat: revert output change from 'phase' part
The output change were introduced in changeset from 87e349f617f9 and it not
relevant for version lower than 4.4.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 17:23:12 +0200] rev 3098
test-compat: revert output change from using core obsfate
The output update arrives in e91ca8b5ecf7.
This output is only relevant for Mercurial 4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 21:29:14 +0200] rev 3097
topic: do to check to topic while amending
Right know the 'topic-mode' mess with amend. Especially in case of amending
merge where the merge is not properly detected.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 21:43:13 +0200] rev 3096
topic-mode: add missing end line in topic-mode warning
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 20:58:35 +0200] rev 3095
compat: work around the lack of configoverride in mercurial 4.0
The phase preservation will stay broken on 4.0 and below
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 19:29:56 +0200] rev 3094
compat: add an abstraction for 'scmutil.cleanupnodes'
The usage of the function was added in 103244e34a9c but is not compatible with
Mercurial <= 4.2.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 18:56:15 +0200] rev 3093
compat: conditionally access config item
Version 4.2 and below do not have config items support. So the extensions helper
do not register anything.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 18:50:26 +0200] rev 3092
compat: handle version where obsutil is not available
Version older than 4.3 is do not have the obsutil option. We need to handle
that.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 18:19:01 +0200] rev 3091
test: use node instead of rev in topic push tests
This makes the test more stable when revision number changes.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 17:12:03 +0200] rev 3090
test: use node instead of rev in uncommit -i test
This makes the test more stable when revision number changes.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 15:20:20 +0200] rev 3089
branching: create the mercurial-4.3 test compatibility branch
This branch will contains the expected test output with 4.3.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 15:18:51 +0200] rev 3088
branch: merge with stable to prepare 6.7 release
In addition, Mercurial 4.4-rc is out, so we need to update the expected output.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 15:13:28 +0200] rev 3087
changeloge: add details about topic-mode
Boris Feld <boris.feld@octobus.net> [Fri, 20 Oct 2017 14:00:30 +0200] rev 3086
effect-flag: remove wrapping of createmarkers for Mercurial 4.4
Now that effect-flag has landed in Mercurial 4.4, we don't need to wrap
createmarkers for this version anymore.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 14:56:03 +0200] rev 3085
stack: order the adjective of changeset
The new order give more interesting result:
* base current
* base unstable
* current unstable
It seems more harmonious this way. Base seems the most core and immutable
adjective describing the element. Then current is a volatile but important one.
Finally, unstable is less information than current, so it goes last.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 15 Oct 2017 00:03:59 +0530] rev 3084
stack: show current and unstable also for t0 and bases
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Oct 2017 12:04:45 +0200] rev 3083
obsfate: use core version of obsfate if available
Let us use the upstream version whenever available. The operation display is
currently disabled to ease with the test changes.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Oct 2017 18:18:43 +0200] rev 3082
topic: register config items
There is a couple more hoops to jump through but all config items used are now
registered.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Oct 2017 18:17:47 +0200] rev 3081
directaccess: register config item if possible
Mercurial 4.4 warns about unregistered config.
Boris Feld <boris.feld@octobus.net> [Thu, 19 Oct 2017 14:46:06 +0200] rev 3080
evolve: registed configitems if available
The config are registered as 'dynamicdefault' because we still need to
explicitly pass the config option for older version of Mercurial. (4.2 and
before).
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Oct 2017 21:23:21 +0200] rev 3079
inhibit: compatibility with 4.4-rc
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Oct 2017 20:01:00 +0200] rev 3078
branching: merge with stable
Merge with the inhibit fix.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 Oct 2017 19:56:18 +0200] rev 3077
inhibit: respect '--keep' when handling rebase clean up
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 18 Oct 2017 19:00:56 +0200] rev 3076
test: adapt to change from 537de0b14030
If we use phase for pull/push this impact some debug output.
CORE-TEST-OUTPUT-UPDATE: 537de0b14030
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Oct 2017 17:12:38 +0200] rev 3075
test: adapt to output change from eb586ed5d8ce
Core have a more verbose output on pull. We have to update tests with it.
CORE-TEST-OUTPUT-UPDATE: eb586ed5d8ce
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Oct 2017 17:35:05 +0200] rev 3074
compat: fix compatibility with new duplicatecopies
Changeset 754b5117622f updated the signature of 'copies.duplicatecopies'.
We can now handle the multiple version of that code for compatiblity.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 14 Oct 2017 19:14:27 +0200] rev 3073
topic: remove 'ass' from the random animal list
As much as I love donkeyā¦ this generate inappropriate names.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 14 Oct 2017 19:08:22 +0200] rev 3072
config: stop passing useless default value to config
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 14 Oct 2017 19:06:06 +0200] rev 3071
branching: merge with stable
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 14 Oct 2017 18:56:42 +0200] rev 3070
changelog: add about fixed bookmark and phase handling while changing topics
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 14 Oct 2017 18:55:43 +0200] rev 3069
changelog: add about pager support
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 13 Oct 2017 06:10:41 +0530] rev 3068
pager: add support to `hg evolve --list`
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 13 Oct 2017 06:08:32 +0530] rev 3067
pager: add support to `hg obslog`
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 13 Oct 2017 06:06:09 +0530] rev 3066
pager: add support to `hg topic`
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 13 Oct 2017 06:02:56 +0530] rev 3065
pager: add support to `hg stack`
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 14 Oct 2017 20:17:25 +0530] rev 3064
pager: add a function in compats to start pager
This will help us enabling pager when ui.pager API exists. Also we can try
plugging in the old pager API in this function and we won't have to change
anything.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 14 Oct 2017 02:39:21 +0200] rev 3063
metadata: cleanup metadata file
I'm not sure how this conflict marker survived the pre-publish test run...
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 13 Oct 2017 20:32:50 +0200] rev 3062
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 13 Oct 2017 20:28:21 +0200] rev 3061
topic: remove a silly duplicate in a revset
Spotted by Pulkit Goyal. More performance win seems to exists here, but we
starts with the obvious.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 13 Oct 2017 10:18:52 +0530] rev 3060
topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 13 Oct 2017 10:01:38 +0530] rev 3059
topics: use stack.stack() instead of stack.stackdata()
stack.stackdata() also calls stack.stack() internally. Moreover if we just want
to calculate changesetcount, troubled count, it will be cheap to calculate using
stack.stack rather than stackdata().
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2017 22:48:43 +0200] rev 3058
packaging: mark version as bugfix dev version
This avoid confusion when installing non tagged version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2017 22:40:41 +0200] rev 3057
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2017 21:12:14 +0200] rev 3056
Added tag 6.7.1 for changeset 430ad68292d7
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 09 Oct 2017 19:39:13 +0530] rev 3055
obslog: remove the word "yet" from "No patch available yet"
"yet" was a bit confusing as it let me think that patch is currently not
available but can be available sometimes later. This is true for cases when it
says "context not local" but we have more messages like "no successors", "too
many successors", "changesets rebased" where we can't have a patch.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 09 Oct 2017 19:35:32 +0530] rev 3054
obslog: spell out successor completely
If the successor is not known locally, obslog says `succ is unknown locally`
which is not a good message. This patch makes sure succ is spelled out
completely as successor.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2017 16:28:50 +0200] rev 3053
readme: update readme with latest fix
(also more the stack one in the right location).
Boris Feld <boris.feld@octobus.net> [Tue, 10 Oct 2017 15:52:55 +0200] rev 3052
obsfate: make the user list more readable
Separate each user in the obsfate user list by a space for readability.
Boris Feld <boris.feld@octobus.net> [Tue, 10 Oct 2017 15:28:03 +0200] rev 3051
obsfate: fix user filtering in obsfate-printer
Only hide current user only if it's the only one that create obs-markers.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2017 16:22:21 +0200] rev 3050
obsfate: add a test with user both current and other
This will help highlight change in the next changesets.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2017 16:12:44 +0200] rev 3049
obsfate: update test
The obsfate templatekw and the obsfateprinter behavior was different when
displaying or not the current user in obsfate users.
Update the test to makes the behavior fix more visible.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2017 16:06:22 +0200] rev 3048
packaging: prepare version 6.7.1
The are an important fix on evolve and another important fix for topic
performance, let us make a release.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2017 16:02:44 +0200] rev 3047
readme: add changelog for topic 0.3.1
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2017 16:02:23 +0200] rev 3046
add mention of the topic 0.3.0 version
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2017 16:02:04 +0200] rev 3045
readme: fix evolve 6.7.1 entry
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 10 Oct 2017 15:47:11 +0200] rev 3044
topic: reorder revset for faster evaluation
When running the revset on unfiltered repository, the mutable set can get huge.
So removing the obsolete changeset first provide a large speedup. This resolve
the performance regression we were seeing since the 6.7.0 release.
Aurélien Campéas [Mon, 09 Oct 2017 17:42:30 +0200] rev 3043
topics: use stack rather than stackdata when one only wants the changeset count
There might be a significant performance impact.
Might resolve #309.
Boris Feld <boris.feld@octobus.net> [Thu, 28 Sep 2017 21:35:29 +0100] rev 3042
log: update obsfate output order
Always display successors after the verb. So instead of "rewritten by boris as
X", display "rewritten as X by boris".
07b9fcf8b6d3 did update template-based obsfate but forget to update
obsfatelineprinter.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 06 Oct 2017 10:28:09 +0200] rev 3041
test: remove bashism in test-topic-change.t
The test was broken on various machine using shell not supporting the
`{start..end}` construct.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 05 Oct 2017 19:35:58 +0530] rev 3040
topics: handle phase correctly while changing topics
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 05 Oct 2017 19:30:22 +0530] rev 3039
tests: add test showing change of phase while changing topic on secret commit
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 05 Oct 2017 19:20:20 +0530] rev 3038
topics: use scmutil.cleanupnodes to create markers while changing topics
Earlier if we change topics on changesets with bookmark, the bookmark is not
moved to the new changeset as we didn't add that logic and we were creating
obsmarkers directly. This patch calls scmutil.cleanupnodes to create obsmarkes
which also handles the bookmark movement.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 05 Oct 2017 18:13:52 +0530] rev 3037
tests: add a new test for testing changing or clearing topics
test-topic.t is getting bigger and bigger. This patch introduces a new test
which includes test for clearing and changing topics.
Since the tests are moved to a new file, this patch, removes those tests from
test-topic.t also.
Matt DeVore <matvore@google.com> [Tue, 03 Oct 2017 11:14:29 -0700] rev 3036
obscache: do not check of argument count of wrapped function
After talking with the original author of this check, it appears that it never
worked properly, since _readmarkers was always wrapped with @util.nogc.
Anton Shestakov <av6@dwimlabs.net> [Tue, 03 Oct 2017 22:51:00 +0800] rev 3035
legacy: rename lookup_errors to not be in all caps (flake8 warning)
flake8 has a plugin, pep8-naming, which is not installed by default, but is
used if available, no extra config required. This plugin checks names of
variables, classes, functions and so on against PEP-8, and it complained about
this variable:
N806 variable in function should be lowercase
Since this isn't a module-level constant, but just a helper variable used only
in one function, it's fine to just rename it.
With this error gone, flake8 output (used plugins: mccabe, naming, pycodestyle,
pyflakes) is totally clean.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 01 Oct 2017 15:32:29 +0530] rev 3034
randomname: fix the header of the file
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 01 Oct 2017 15:22:37 +0530] rev 3033
topics: move README-topic as hgext3rd/topic/README
Before improving the docs about topics, lets move them into the topics folder.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 01 Oct 2017 11:23:21 +0100] rev 3032
README: move CHANGELOG to a new file
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 01 Oct 2017 11:18:36 +0100] rev 3031
test: small cleanup in test-topic-mode.t
remove the mention of "new" (this won't be new soon) and use the official config
name.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 01 Oct 2017 11:13:38 +0100] rev 3030
test: add support for random-all topic mode
The 'random' mode no longer generate a random topic for merge.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 01 Oct 2017 10:44:23 +0100] rev 3029
test: rename test-topicmode to test-topic-mode
This is easier to read.
Boris Feld <boris.feld@octobus.net> [Sun, 01 Oct 2017 00:35:28 +0100] rev 3028
topicmode: add 'random' topic mode
That mode will generate a random topic name when the user is about to commit an
untopiced changeset.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 01 Oct 2017 09:10:48 +0100] rev 3027
topic: update the topic-mode hint
The hint is now shorter and reference the documentation. That should provide
more concise output with more details for user who seeks it.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 01 Oct 2017 09:05:42 +0100] rev 3026
topic: rename the 'topic-mode' help subtopic
This will help making reference to it in warning.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 01 Oct 2017 00:44:41 +0100] rev 3025
topic: add a 'enforce-all' mode
The mode abort for all commit without a topic, even merges.
Boris Feld <boris.feld@octobus.net> [Sat, 30 Sep 2017 23:18:29 +0100] rev 3024
topicmode: 'enforce' topic mode, no longer warn about untopiced merge
merging a topic back in a branch is common case, it seems sensible to not pester
the user about it.
Boris Feld <boris.feld@octobus.net> [Sat, 30 Sep 2017 23:00:21 +0100] rev 3023
topicmode: add new warning topicmode
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 01 Oct 2017 00:14:19 +0100] rev 3022
topic: add documentation for the 'topic-mode' option
This should help people to discover it.
Boris Feld <boris.feld@octobus.net> [Sat, 30 Sep 2017 22:42:52 +0100] rev 3021
test: update tests to use topic-mode enforce
Boris Feld <boris.feld@octobus.net> [Sat, 30 Sep 2017 22:24:24 +0100] rev 3020
topic: migrate experimental.enforce-topic to experimental.topic-mode
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 30 Sep 2017 12:35:49 +0100] rev 3019
test: adapt to output change from 10e162bb9bf5
The changeset 10e162bb9bf5 in code extend the list of capabilities to include
"phases=['heads']" this has a minor impact on test output
CORE-TEST-OUTPUT-UPDATE: 10e162bb9bf5
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 30 Sep 2017 11:38:08 +0100] rev 3018
merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 30 Sep 2017 11:11:04 +0100] rev 3017
stack: handle basic case of splitting with crash
hg stack used to crash horribly whenever a split was encountered. This is no
longer the case.
If the result of the split (or there successors) produce a sensible linear
result with on final head, we can just assume that head is the evolution
destination.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 25 Sep 2017 02:29:41 +0530] rev 3016
tests: update test output with commit 4f969b9e0cf5 in core
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 25 Sep 2017 02:23:36 +0530] rev 3015
tests: update test output with commit ecc96506c49d in core
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 16:30:43 +0200] rev 3014
packaging: update version to match development version
This helps avoid confusion when installing from source.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 16:26:30 +0200] rev 3013
packaging: merge stable back into default
6.7.0 has been released.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 16:24:44 +0200] rev 3012
packaging: mark stable branch as dev bugfix version
This help avoiding confusion when installing evolve from sources.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 16:18:24 +0200] rev 3011
Added tag 6.7.0 for changeset 3a4f75c6619c
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 16:18:11 +0200] rev 3010
packaging: update debian changelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 16:15:56 +0200] rev 3009
packaging: update version number and testedwith version
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 01:44:29 +0200] rev 3008
packaging: mark version 6.7.0 in the source
Version ready to be released.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 01:41:46 +0200] rev 3007
packaging: update compatible version
This has been tested with 4.3 too.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 01:37:21 +0200] rev 3006
readme: prepare readme
The feature that only work with 4.3+ are flagged as such.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 01:27:40 +0200] rev 3005
compat-test: merge future 6.7.0 into 3.8 compat branch
(merging through 3.9 compat branch)
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 01:22:58 +0200] rev 3004
compat-test: merge future 6.7.0 into 3.9 compat branch
(merging through 4.0 compat branch)
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 01:18:39 +0200] rev 3003
compat-test: merge future 6.7.0 into 4.0 compat branch
(merging through 4.1 compat branch)
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 01:12:47 +0200] rev 3002
compat-test: merge future 6.7.0 into 4.1 compat branch
(mergeing through 4.2 compat branch)
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 01:07:22 +0200] rev 3001
compat-test: merge future 6.7.0 into 4.2 compat branch
Couple feature to disable and other various test impact.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 00:54:28 +0200] rev 3000
branching: merge future 6.7.0 in the stable branch
We are getting ready to release a new version.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 27 Sep 2017 00:00:22 +0200] rev 2999
topic: fix topic message for mercurial 4.2 and below
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 26 Sep 2017 19:05:04 +0530] rev 2998
README: mention that --age also shows the user
While I was here, I fixed the a spelling mistake in previous commit.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 24 Sep 2017 11:30:14 +0200] rev 2997
topic: try to clarify the "branch" part in stack
The idea is to clarify the meaning of "behind" with using the "target" word.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Sep 2017 13:01:21 +0200] rev 2996
readme: mention the message update
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 25 Sep 2017 03:30:56 +0530] rev 2995
topics: make sure user don't pass both the age option and a topic name
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 25 Sep 2017 03:29:45 +0530] rev 2994
topics: spell out topics completely in help
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 25 Sep 2017 03:23:06 +0530] rev 2993
topics: show the user who last touched the topic in --age
This patch adds support for showing the user who last touched the topic in the
age option to `hg topics`.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 25 Sep 2017 03:06:37 +0530] rev 2992
topics: initialize variable with default value instead of assigning later
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 25 Sep 2017 03:04:42 +0530] rev 2991
topics: improve the function signature by accepting arguments as **opts
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Sep 2017 12:58:10 +0200] rev 2990
topic: merge with strip related fix
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 26 Sep 2017 12:56:03 +0200] rev 2989
topic: skip topic movement message during strip
During strip transaction the repository is not in a great state. It is simpler
to skip the computation entirely.
Aurélien Campéas [Tue, 26 Sep 2017 12:39:11 +0200] rev 2988
topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas [Fri, 22 Sep 2017 18:01:29 +0200] rev 2987
topics/transaction: return immediately if we are in the middle of a transaction
Aurélien Campéas [Fri, 22 Sep 2017 16:41:37 +0200] rev 2986
topics/ui: signal when an operation entails voiding a topic
Typical situations may include:
* publish
* push (to publishing server)
* pull
* fold
Aurélien Campéas [Tue, 26 Sep 2017 12:29:15 +0200] rev 2985
topics/ui: signal when the topics command creates a new (empty) topic
Aurélien Campéas [Tue, 26 Sep 2017 12:27:43 +0200] rev 2984
topics: signal to the end user when a topic has been forgotten
Situation is:
* we're updating outside an empty topic.
* we've cleared topics
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 22 Sep 2017 13:46:41 +0200] rev 2983
topic: add a --topic option to "outgoing" command
By symmetry with "push" in the previous changeset.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 22 Sep 2017 13:43:38 +0200] rev 2982
topic: add a --topic option to "push" command
This is symmetrical with --bookmark or --branch; it selects changesets in
specified topic as revisions to push.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 22 Sep 2017 12:48:57 +0200] rev 2981
test-compat: adapt to core change in b90bd9a98c8b
Blackbox just got a little more chatty.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Sep 2017 19:34:37 +0200] rev 2980
readme: update about obslog update and documentation refresh
Aurélien Campéas [Thu, 21 Sep 2017 17:08:00 +0200] rev 2979
topic/tuto: be more precise in the top introduction about the publishing server
Indeed there is a chapter with a non-publishing one.
Aurélien Campéas [Thu, 21 Sep 2017 17:06:16 +0200] rev 2978
topics/tuto: prefer rebase over merge and remove the weird merge attempt
Aurélien Campéas [Thu, 21 Sep 2017 17:04:24 +0200] rev 2977
topics/tuto: typo fix and s/multiple/two
Aurélien Campéas [Thu, 21 Sep 2017 17:00:04 +0200] rev 2976
topics/tuto: be more complete over the de-orphaning action within a topic
Aurélien Campéas [Thu, 21 Sep 2017 16:52:05 +0200] rev 2975
topics/tuto: try to be more precise on why `hg log` output is hairy
Aurélien Campéas [Thu, 21 Sep 2017 16:42:45 +0200] rev 2974
topics/tuto: attempt to have a slightly more clear wording
Aurélien Campéas [Thu, 21 Sep 2017 16:41:42 +0200] rev 2973
topics/tuto: try to be more clear when explaining previous/next
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Sep 2017 18:35:22 +0200] rev 2972
test: fix the enforce-topic configuration
There have been an error while updating this patch.
Aurélien Campéas [Thu, 21 Sep 2017 16:25:58 +0200] rev 2971
topics/tuto: clarification on the scope of the tutorial
Also we try to remain the reader that push -> publish.
Aurélien Campéas [Thu, 21 Sep 2017 15:27:20 +0200] rev 2970
topics/tuto: slightly more verbose explanation of what we are seeing
Aurélien Campéas [Thu, 21 Sep 2017 15:15:24 +0200] rev 2969
topics/tuto: spell out `hg topics` entirely
Aurélien Campéas [Thu, 21 Sep 2017 15:09:14 +0200] rev 2968
topics/tuto: activate the `enforce-topic` option
This really help users to stick within topics.
Aurélien Campéas [Thu, 21 Sep 2017 14:05:27 +0200] rev 2967
topics/tuto: highlight the behaviour on publish + update
And the fact that empty topics vanish if we update out of them.
Aurélien Campéas [Thu, 21 Sep 2017 13:04:19 +0200] rev 2966
topics/tuto: fix title underline type introduced earlier
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Sep 2017 17:44:58 +0200] rev 2965
doc: update graph with latest version of doc-graph
Philippe Pepiot <phil@philpep.org> [Thu, 21 Sep 2017 17:13:46 +0200] rev 2964
flake8 docs/conf.py
Philippe Pepiot <phil@philpep.org> [Thu, 21 Sep 2017 17:13:09 +0200] rev 2963
doc: disable generating command documentation when mercurial is not up-to-date
Philippe Pepiot <phil@philpep.org> [Fri, 01 Sep 2017 08:32:17 +0200] rev 2962
doc: add documentation for evolve commands
By using a sphinx directive that call `hg help`.
Philippe Pepiot <phil@philpep.org> [Thu, 21 Sep 2017 16:11:59 +0200] rev 2961
doc: clarify undocumented features
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Sep 2017 16:55:17 +0200] rev 2960
test2rst: ignore the #if/#endif line in the output
They are not useful for the rest.
Boris Feld <boris.feld@octobus.net> [Thu, 21 Sep 2017 10:45:27 +0200] rev 2959
doc: integrate graphviz graphs in tutorials
Use the mercurial-docgraph extension (https://pypi.python.org/pypi/hg-
docgraph/) in tutorials in order to have some dot graphs in the tutorials .t
files.
Then generate the doc as usual, the sphinx-graphviz extension (http://www
.sphinx-doc.org/en/stable/ext/graphviz.html) has been added and it should
handle the generation of the graphs. Please be aware that you need the dot
binary installed in your system. Please refer to the extension documentation
for more configuration.
Boris Feld <boris.feld@octobus.net> [Thu, 21 Sep 2017 10:45:06 +0200] rev 2958
doc: add a special flag for content to ignore in the rst
The testfile to rest document convertion has a new way to ignore some commands.
Alain Leufroy [Fri, 08 Sep 2017 12:10:21 +0200] rev 2957
obslog: simplify formatter keys
The formatter field keys are all prefixed with
`debugobshistory.'. This is annoyingly useless as they are already in
the `debughistory` topic.
This patch simplify these keys. For examle, on this repository `hg obslog -Tdebug -r 31cbace4c0f1` :
```
debugobshistory = [
{
'node':'31cbace4c0f1',
'shortdescription':'topics: make sure we have some restrictions on topic names',
'rev':2904,
'markers':[
]
},
{
'node':'d439a6087434',
'markers':[
{
'date':(1504176329.83902,
-7200 ),
'verb':'rewritten',
'succnodes':[
'31cbace4c0f1'
],
'effect':[
'parent'
],
'user':'Pierre-Yves David <pierre-yves.david@octobus.net>'
}
]
},
{
'node':'1e1f651704d4',
'markers':[
{
'date':(1504175088.811924,
-7200 ),
'verb':'rewritten',
'succnodes':[
'd439a6087434'
],
'effect':[
'parent'
],
'user':'Pierre-Yves David <pierre-yves.david@octobus.net>'
}
]
},
{
'node':'eb6495cf6cb1',
'markers':[
{
'date':(1504015275.001643,
-19800 ),
'verb':'rewritten',
'succnodes':[
'1e1f651704d4'
],
'effect':[
'parent',
'content'
],
'user':'Pulkit Goyal <7895pulkit@gmail.com>'
}
]
},
{
'node':'761e446e0112',
'markers':[
{
'date':(1504015201.780276,
-19800 ),
'verb':'rewritten',
'succnodes':[
'eb6495cf6cb1'
],
'effect':[
'content'
],
'user':'Pulkit Goyal <7895pulkit@gmail.com>'
}
]
},
{
'node':'531a626950bd',
'markers':[
{
'date':(1504015017.897054,
-19800 ),
'verb':'rewritten',
'succnodes':[
'761e446e0112'
],
'effect':[
'meta',
'parent',
'content'
],
'user':'Pulkit Goyal <7895pulkit@gmail.com>'
}
]
},
{
'node':'c2f9ba7329ea',
'markers':[
{
'date':(1504014136.876537,
-19800 ),
'verb':'rewritten',
'succnodes':[
'531a626950bd'
],
'effect':[
'meta'
],
'user':'Pulkit Goyal <7895pulkit@gmail.com>'
}
]
},
]
```
We now able to ask `hg obslog -r 78debdfb3e4d -T '{label("log.summary", shortdescription)}\n{if(markers, markers % " {date|age} {user|person}\n")}'`
```
doc: simplify the reference to in-core features
9 days ago Pierre-Yves David
9 days ago Pierre-Yves David
9 days ago Pierre-Yves David
9 days ago Pierre-Yves David
9 days ago Philippe Pepiot
9 days ago Philippe Pepiot
```
Alain Leufroy [Fri, 08 Sep 2017 12:03:23 +0200] rev 2956
obslog: fix `--template` with `--graph` option
The `template` option was not propagated.
Alain Leufroy [Fri, 08 Sep 2017 12:24:22 +0200] rev 2955
obslog: uniformize `_debugobshistoryrevs` and `_debugobshistorygraph` arguments
`_debugobshistoryrevs` and `_debugobshistorygraph` perform quite the
same action, the latter simply add graph support. Consequently, it
looks better for them to have the same argument list.
Alain Leufroy [Sun, 17 Sep 2017 12:45:28 +0200] rev 2954
obslog: fix --patch with --no-graph options
The repo given to _debughistorydisplaymarker which computes the diff
was filtered when graph mode is disabled.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Sep 2017 15:18:28 +0200] rev 2953
commands: upgrade pdiff and pstatus to full commands
Doing so make them appears in the documentation, improving their
discoverability.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Sep 2017 14:50:55 +0200] rev 2952
gup/gdown: properly mark these commands as deprecated
They are no longer displayed in the documentation.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Sep 2017 10:39:49 +0200] rev 2951
Backed out changeset 1b4c92621e23
This got published by mistake.
Boris Feld <boris.feld@octobus.net> [Tue, 29 Aug 2017 16:42:40 +0200] rev 2950
doc: integrate graphviz graphs in tutorials
Use the mercurial-graphviz extension
(https://bitbucket.org/octobus/mercurial_graphviz) in tutorials in order to
have some dot graphs in the tutorials .t files.
In order to run the tests, export the GRAPHVIZ_EXTENSION variable which points
to your copy of the extension. Please be aware that pygraphviz should be
installed in your environment.
That should be sufficient for generating dot graphs in text format.
Then generate the doc as usual, the sphinx-graphviz extension (http://www
.sphinx-doc.org/en/stable/ext/graphviz.html) has been added and it should
handle the generation of the graphs. Please be aware that you need the dot
binary installed in your system. Please refer to the extension documentation
for more configuration.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 19 Sep 2017 12:52:22 +0200] rev 2949
amend: lift the --interactive constraint on `--extract`
The uncommit logic now supports interactive selection.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Sep 2017 04:31:59 +0200] rev 2948
readme: mention the topic output cleanup
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Sep 2017 04:30:57 +0200] rev 2947
readme: mention the new --interactive mode for uncommit
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Sep 2017 04:28:12 +0200] rev 2946
uncommit: minor comment cleanup in the test
Fix some of the sectionning and fix on comments.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Sep 2017 04:20:36 +0200] rev 2945
uncommit: small cleanup of the interactive test setup
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Sep 2017 18:12:06 +0200] rev 2944
tests: add tests for interactively uncommitting by mentioning files
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 11 Sep 2017 17:41:53 +0200] rev 2943
uncommit: fix the dirstate handling in `uncommit -i`
This patch fixes the dirstate handling after `hg uncommit --interactive`. This
patch is bit verbose about the logic and efforts are not put to plug the logic
into existing logic as it's easier to understand like this. Plugging this into
non-interactive logic deserves a separate patch.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 05 Sep 2017 14:35:00 +0530] rev 2942
uncommit: pre-indent a block in if-True
The block will be moved in if-else in next patch.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Sep 2017 17:23:24 +0530] rev 2941
uncommit: add an interactive option to uncommit
This patchs adds an interactive flag to uncommit command which lets you choose
hunks interactively. The implementation is as follows:
1) prompt user to select hunks to uncommit interactively
2) make a temporary commit of the hunks user selected
3) calculate the diff of temporary commit and changeset to be uncommitted
4) commit that diff which results in the changeset which should be there after
uncommiting
5) create obsmarkers as required, phases and bookmarks handling
6) reroute the working directory
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 04 Sep 2017 15:54:39 +0200] rev 2940
uncommit: pre-indent a block in if-True for the next patch
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 17 Sep 2017 19:59:25 +0200] rev 2939
topic: provide more information when behind count cannot be computed
The behind count has been confusing for various user and the associated error
message is even worth. We try to clarify it to see if that helps.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 15 Sep 2017 23:25:38 +0530] rev 2938
topic: show the t0 even if topic is not yet touched
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 15 Sep 2017 23:13:05 +0530] rev 2937
topics: improve the description if topic is not touched
Instead of an empty stack in `hg stack` when topic does not contain any
changeset, we show `not yet touched`.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 15 Sep 2017 22:48:55 +0530] rev 2936
topics: show working directory branch when topic is empty
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 01 Sep 2017 15:09:59 +0530] rev 2935
topics: add tests for cases when a topic is empty
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Sep 2017 16:28:59 +0200] rev 2934
readme: mention compatibility with future 4.4
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 15 Sep 2017 17:20:42 +0200] rev 2933
topic: update the message used with --age for empty topic
This clarify things when a topic got emptied by publishing.
Ryan McElroy <rmcelroy@fb.com> [Wed, 30 Aug 2017 17:32:32 +0200] rev 2932
sharing: edit pass
Ryan McElroy <rmcelroy@fb.com> [Wed, 30 Aug 2017 17:32:32 +0200] rev 2931
user-guide: edit pass
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 13 Sep 2017 21:41:57 +0200] rev 2930
topic: stabilise the output of --age when date ties
We just needed to introduce sort to stabilize the output order.
Boris Feld <boris.feld@octobus.net> [Fri, 15 Sep 2017 15:48:18 +0200] rev 2929
tests: update after removing of redundant amend commit
Following e8a7c1a0565a, temporary amend commits has been removed impacting all
revision numbers in tests including amend operations.
Update tests case to use description or hashes when possible and update
revisions number when not.
Boris Feld <boris.feld@octobus.net> [Wed, 13 Sep 2017 15:13:51 +0200] rev 2928
topic: setup 'topic' value for working ctx
The way amend work in core change in e8a7c1a0565a. The intermediate commit
disappear and we can no longer rely on it to carry the topic value to amend. To
fix this, we ensure the current topic value can be retrieved through the
`workingctx.extra()` value. Since there is no way to carry a "missing" key
information in a way that survives and "dict.update" call. We also has to
introduce hacking behavior about a special empty value for topic.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 14 Sep 2017 20:33:03 +0200] rev 2927
tests: abstract version number for test-topic-stack.t
Using explicite version number always bring trouble, this is why we have unique
description that can select changesets.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 07 Aug 2017 23:22:41 +0900] rev 2926
evolve: use registrar.templatekeyword to register template keyword functions
Now, using registrar.templatekeyword of Mercurial directly in evolve
extension should be safe enough. because it has been available since
Mercurial 3.8, and minimum Mercurial version for evolve extension is
3.8, too.
BTW, this also fixes an issue of "hg help templates" output that
template keywords "precursors" and "successors" are not displayed as
same as others, because they do not have ":KEYWORD:" prefix in their
docstring.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 10 Sep 2017 20:06:52 +0900] rev 2925
evolve: use registrar.revsetpredicate to register revset predicate functions
Now, using registrar.revsetpredicate of Mercurial directly in evolve
extension should be safe enough. because it has been available since
Mercurial 3.8, and minimum Mercurial version for evolve extension is
3.8, too.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 07 Aug 2017 23:17:13 +0900] rev 2924
topic: use registrar.revsetpredicate to register revset predicate functions
Now, using registrar.revsetpredicate of Mercurial directly in topic
extension should be safe enough. because it has been available since
Mercurial 3.8, and minimum Mercurial version for topic extension is
4.0.
This patch also removes modsetup() in topic/revset.py, because it is
useless.
BTW, this patch fixes an issue of "hg help revsets" output that custom
revset predicates are not displayed as same as others, because they
are not "inline literal" in reST syntax (``NAME``).
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 07 Aug 2017 23:24:57 +0900] rev 2923
doc: make paragraphs before example code end with "::" for reST syntax
This prevents lines in an example code from being treated as a part of
normal paragraph. For issue example, lines are folded into one
paragraph.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 10 Sep 2017 22:41:54 +0900] rev 2922
topic: centralize compatibility logic between hg versions into compat module
This patch can delay loading obsutil and obsolete modules until they
are actually used at "hg topics" or so, if demandimport of Mercurial
is enabled.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Sep 2017 17:24:33 +0200] rev 2921
readme: mention the improvement to stack in the readme
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 07 Sep 2017 19:18:05 +0200] rev 2920
test: issue a clarifying graph print in tests/test-stack-branch.t
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Sep 2017 22:32:50 +0530] rev 2919
stack: properly order stack when gaps existing inside it
We transitively search for the next "stack" ancestors, of changeset in the stack
not based on other revision of the stack. This should help having a consistent
display when topic are interleaved.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 07 Sep 2017 19:43:07 +0200] rev 2918
stack: display both parent with displaying merge
This will help understanding merge in the stack. More test involving merge are
adding in the next changeset.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 09 Sep 2017 22:32:44 +0530] rev 2917
tests: add tests for showing stack when merge is involved
This patch adds tests of showing stack when merges are involved. This will help
us in changing the behaviour and realising that in later patches.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 04 Sep 2017 12:41:30 +0200] rev 2916
stack: move data computation on the object
We gather multiple data about the stack on the object. Let us move this on the
object and keep it cached there.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 04 Sep 2017 12:23:03 +0200] rev 2915
stack: replace 'getstack' with direct call to 'stack'
The dedicated function do not add any value. We can update all the callers.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 04 Sep 2017 12:19:49 +0200] rev 2914
stack: introduce a rich stack object
The logic around stack object become more and more complex. We great and object
to gather and abstract it.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Sep 2017 16:45:57 +0200] rev 2913
tests: add tests for `hg stack` showing surprising behavior with gaps
The test will help us to analyse in next commit if the things are fixed or not.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 10 Sep 2017 22:22:06 +0900] rev 2912
topic: check availability of obsutil.getmarkers() for portability
Before this patch, topic extension causes unintentional failure with
Mercurial earlier than 4.3, because obsutil.getmarkers() has been
available since Mercurial 4.3 (tests for topic on mercurial-4.*
branches fail, too).
This breaks "minimumhgversion = '4.0'" declaration of topic extension.
This patch fixes this issue in a straightforward way for simplicity on
stable branch.
I'm planning to centralize such portability logic in topic extension
into topic/compat.py or so on default branch for efficiency at
runtime, like as evolve/compat.py.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 07 Sep 2017 16:45:53 +0200] rev 2911
tests: add more explicit test about empty topic from publishing
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2017 19:29:04 +0200] rev 2910
convertbookmark: advertise the new command in the readme
The command is in a good enough shape now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2017 17:15:55 +0200] rev 2909
convertbookmark: properly convert stacked bookmarks
We ignores pure descendant when looking for revision to convert. This adds
support for cases were a linear stack contains multiple bookmark (or
un-bookmarked descendants exists).
In this case, some changeset are left orphan, but we'll consider the issue as
minor for now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2017 18:46:10 +0200] rev 2908
convertbookmark: perform all actions at the end
This will make the whole operation more deterministic and robust.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2017 18:33:08 +0200] rev 2907
converbookmark: split target computation from actual update
This will allow for further refactoring helping consistency.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2017 17:09:17 +0200] rev 2906
convertbookmark: extract the revset into a module level constant
This will make it easier to read and modify the query.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2017 17:04:21 +0200] rev 2905
convertbookmark: properly exclude public changeset
Public changeset are immutable and cannot have a topic anyway.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2017 16:51:49 +0200] rev 2904
test: add a new root changeset to all debugconvertbookmark test case
We'll make this root changeset public to check the debugconvertbookmark logic in
that regards. It is added in its own changeset since it massively impact all
output.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2017 12:02:27 +0200] rev 2903
tests: import section in 'test-topic-debugcb.t'
We now have two levels of titles to clarify some aspect of the tests.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2017 16:22:49 +0200] rev 2902
test: avoid using debugdrawdag in 'test-topic-debugcb.t'
The 'debugdrawdag' utility adds local tags that prevent hidden changeset to get
hidden. We will do without that extension for now.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 29 Aug 2017 18:13:33 +0530] rev 2901
tests: add more tests for debugconvertbookmark
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 14 Aug 2017 14:36:11 +0530] rev 2900
convertbookmark: add logic to skip revisions with multiple bookmarks
When a user tries to converts a bookmark to topic which is on a changeset with
more bookmarks we skip that.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 01 Sep 2017 18:02:50 +0200] rev 2899
topics: add a new debugconvertbookmark command to convert bookmarks to topics
This new command, aliased to debugcb converts bookmarks to topics. This command
either accept name of a bookmark using flag '-b' or '--all'.
If a bookmark is passed using '-b', the whole stack defined by that bookmark is
converted to topics. If '--all' is passed, the above thing is repeated for every
bookmark in the repository.
If the revset which we are using unable to decides revisions of the stack and
return an expty set, in that cases we are not deleting the bookmark as we are
not writing any topics of the same name as that of bookmark. Also currently if a
changeset has two bookmarks, than there is buggy behaviour. So these are known
lackings in the current implementation which will be fixed in upcoming patches.
This also adds tests for the same.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2017 17:53:14 +0200] rev 2898
topic: support --rev argument and properly process then as user input
Revisions inputed by the users should be processed using `scmutil.revrange`.
This will take alias into account and allow extensions to monitor the user
inputs.
As a side effect, the '_changetopics' function takes revisions as argument.
make the API clearer.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 01 Sep 2017 17:37:47 +0200] rev 2897
topic: move a status message in the right scope
The finally get runs on failure so we should not advertise rewrite topic in the
case. In addition the 'rewrote' variable can be undefined in the finally.
Boris Feld <boris.feld@octobus.net> [Wed, 09 Aug 2017 11:32:19 +0200] rev 2896
obsfate: use effect flag information for computing a better verb
Philippe Pepiot <phil@philpep.org> [Tue, 29 Aug 2017 17:30:07 +0200] rev 2895
compat: make it more clear that evolve need Mercurial >= minversion
The message is more clear when mercurial isn't installed at all.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2017 18:35:04 +0200] rev 2894
doc: record all the missings and strange bit we know
We know the doc is not as fresh as it could be. We make sure the reader is aware
too.
Boris Feld <boris.feld@octobus.net> [Thu, 31 Aug 2017 17:00:09 +0200] rev 2893
directaccess: fix with tree without order
1b28525e6698 removes order from tree, changing the indexes in gethashsymbols.
Fix that
Boris Feld <boris.feld@octobus.net> [Fri, 01 Sep 2017 11:08:22 +0200] rev 2892
compat: adapt to test output changes
different access pattern in 4.4 means different results.
Make evolve works with mercurial core 72b5f4d53c58
Boris Feld <boris.feld@octobus.net> [Fri, 01 Sep 2017 11:07:28 +0200] rev 2891
compat: adapt to rebase change in coming 4.4
Make evolve works with mercurial core 72b5f4d53c58
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 31 Aug 2017 13:22:40 +0200] rev 2890
topics: import lock as lockmods
We'll need a 'lock' variable in the next changeset. we move the module out of
the way ahead of time for clarity.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 29 Aug 2017 19:12:00 +0530] rev 2889
topics: make sure we have some restrictions on topic names
This patch makes sure we don't allow topic names with just whitespaces, and
other checks which we do for a bookmark.
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 29 Aug 2017 19:03:59 +0530] rev 2888
topic: add test showing no restrictions on topic names
Currently we don't have any restrictions on topic names and each of the topic
name works. We want them to not work as some of them are used internally and
only integers can be rev numbers too.
Ryan McElroy <rmcelroy@fb.com> [Wed, 30 Aug 2017 17:32:32 +0200] rev 2887
index: edit pass by native english speaker
Aurélien Campéas [Wed, 30 Aug 2017 16:54:26 +0200] rev 2886
topic: reword and simplify explanation of "behind"
Aurélien Campéas [Wed, 30 Aug 2017 15:57:04 +0200] rev 2885
topic: tutorial grammar fixes
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2017 11:36:47 +0200] rev 2884
doc-front-page: link to the changeset evolution section in the document
The section is unlikely to be perfect, but at least it exists.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2017 11:26:00 +0200] rev 2883
doc-front-page: use a clearer statement about the experimental status
This text comes form the Mercurial wiki.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2017 11:25:51 +0200] rev 2882
doc-front-pagE: add a paragraph about "why the extension"
Let us clarify why there is an extension in the first place.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2017 11:25:27 +0200] rev 2881
doc-front-page: expand the paragraph about changeset evolution
We clarify the part of the explanation about the changeset evolution concept.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2017 11:24:38 +0200] rev 2880
doc-front-page: rename the "next step" section
This are pointer to relevant section in the doc. It is a bit double usage with
the table of content. We at least clarify the title.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2017 10:30:48 +0200] rev 2879
doc-front-page: mention that "Changeset Evolution" is a specific concept
It will get it own paragraph soon.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2017 00:32:56 +0200] rev 2878
doc-front-page: include the index in the TOC
This will help important content to stand forward.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2017 00:35:44 +0200] rev 2877
doc-front-page: add a title to the part about the extension
We'll rework this section more in depth, but I would like it to have a title
first to have it show up in the table of content.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 29 Aug 2017 17:25:01 +0200] rev 2876
doc-front-page: add a feature summary at the beginning of the page
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 29 Aug 2017 17:11:18 +0200] rev 2875
doc-front-page: mention the mailing list in the documentation
It is an important tool to keep people up to date.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 29 Aug 2017 16:58:22 +0200] rev 2874
doc-front-page: move installation instruction earliero
This is important for user.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 29 Aug 2017 16:50:05 +0200] rev 2873
doc-front-page: move introduction before the table of content
This should make a friendlier landing.
Philippe Pepiot <phil@philpep.org> [Tue, 29 Aug 2017 16:15:02 +0200] rev 2872
doc: simplify the reference to in-core features
This should do the whole thing lighter.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 29 Aug 2017 16:14:28 +0200] rev 2871
doc: be less dramatic about changeset immutability
Quoting Phillipe: "This is not a Tolkien Novel".
Philippe Pepiot <phil@philpep.org> [Tue, 29 Aug 2017 16:14:15 +0200] rev 2870
doc: clarify the introduction sentence
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 28 Aug 2017 17:16:16 +0200] rev 2869
topics: allow use a --current when setting a topic
This patch allow to use the current flag which can be used by user set existing
revs to the current topic.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 28 Aug 2017 17:35:44 +0200] rev 2868
topic: make --clear + topicname invalid
The two flags are mutually exclusive.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 28 Aug 2017 17:15:08 +0200] rev 2867
topics: add a current flag to display current topic
This patch adds a current flag which can be used by user to display the current
topic.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 28 Aug 2017 17:10:41 +0200] rev 2866
topics: add a missing trailing comma on list of flag
This will make the next changeset easier to read.
Philippe Pepiot <phil@philpep.org> [Tue, 29 Aug 2017 14:19:31 +0200] rev 2865
doc: let mercurial find where evolve is installed
Philippe Pepiot <phil@philpep.org> [Tue, 29 Aug 2017 14:27:08 +0200] rev 2864
doc: use pip to install evolve
Philippe Pepiot <phil@philpep.org> [Tue, 29 Aug 2017 12:20:30 +0200] rev 2863
doc: reword "target repository" to "remote repository"
Philippe Pepiot <phil@philpep.org> [Tue, 29 Aug 2017 12:18:42 +0200] rev 2862
doc: typo fixes
Philippe Pepiot <phil@philpep.org> [Tue, 29 Aug 2017 12:17:48 +0200] rev 2861
doc: use "hidden" instead of "invisible"
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 28 Aug 2017 19:23:16 +0530] rev 2860
tests: add whitespaces in test-topic.t to make it more readable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 24 Aug 2017 11:00:13 -0700] rev 2859
evolve: undo change from "divergent" to "phasedivergent" for --divergent
Looks like an accidental update in feaa52680682 (log: bumped was
renamed into phasedivergent, 2017-08-10).
Martin von Zweigbergk <martinvonz@google.com> [Thu, 24 Aug 2017 10:57:32 -0700] rev 2858
messages: use hyphenated '{phase,content}-divergent' in user messages
The hyphenated version is more readable and it's what we use the
{instabilities} template.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 24 Aug 2017 10:48:38 -0700] rev 2857
warning: use 'divergent', not 'contentdivergent' on old Mercurial
This was just an oversight in f6517779a7c4 (warning: rename warning
message, 2017-08-24).
Boris Feld <boris.feld@octobus.net> [Thu, 24 Aug 2017 09:12:09 +0200] rev 2856
warning: rename warning message
divergent has been renamed into contentdivergent. Use their renamed
counterpart in warning message for new unstable changesets.
Renaming done according to
https://www.mercurial-scm.org/wiki/CEDVocabulary
Boris Feld <boris.feld@octobus.net> [Thu, 24 Aug 2017 09:11:54 +0200] rev 2855
warning: rename bumped warning message
bumped has been renamed into phasedivergent. Update the warning message when
new phasedivergent changesets are detected.
Renaming done according to
https://www.mercurial-scm.org/wiki/CEDVocabulary
Boris Feld <boris.feld@octobus.net> [Thu, 24 Aug 2017 09:11:06 +0200] rev 2854
warning: rename unstable warning message
unstable has been renamed into orphan. Update the warning message when new
orphan changesets are detected.
Renaming done according to
https://www.mercurial-scm.org/wiki/CEDVocabulary
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 23 Aug 2017 23:44:36 +0200] rev 2853
merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 21 Aug 2017 14:21:49 +0200] rev 2852
test: fix output of test-discovery-obshashrange.t
The username is now quoted in the output.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 22 Aug 2017 10:59:19 -0700] rev 2851
obscache: use _readmarkers() from core with correct signature
The copied _readmarkers() went stale with Mercurial core commit
5d3ba4395288 (obsstore: let read marker API take a range of offsets,
2017-06-04). At the same time, the Mercurial core version of the
function gained the desired offset argument, so we can now use that
function.
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 14 Aug 2017 11:39:06 +0530] rev 2850
topics: take locks and start transaction before calling _changetopics
This will help us in calling _changetopics in other transactions which already
started. Currently the _changetopics creates its own transaction and hence can't
be used it a same transaction with any other function or logic.
Boris Feld <boris.feld@octobus.net> [Mon, 21 Aug 2017 19:44:23 +0200] rev 2849
compat: fix instabilities compat
We added an instabilities method for old version of Mercurial. But we returned
an old value for orphan changesets, the one before the big evolve renaming.
Fix the return value to match the new return values.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 21 Aug 2017 14:21:49 +0200] rev 2848
test: fix output of test-discovery-obshashrange.t
The username is now quoted in the output.
Boris Feld <boris.feld@octobus.net> [Fri, 11 Aug 2017 12:20:56 +0200] rev 2847
revset: bumped volatile set was deprecated
Use phasedivergent volatile set instead.
Match 07a76d4f2297 mercurial changeset.
Boris Feld <boris.feld@octobus.net> [Fri, 11 Aug 2017 12:12:03 +0200] rev 2846
revset: divergent volatile set was deprecated
Use contentdivergent volatile set instead.
Match 31c922423f3f mercurial changeset.
Boris Feld <boris.feld@octobus.net> [Fri, 11 Aug 2017 11:55:07 +0200] rev 2845
revset: unstable volatile set was deprecated
Use orphan volatile set instead.
Match 5579864798c6 mercurial changeset.
Boris Feld <boris.feld@octobus.net> [Fri, 11 Aug 2017 11:43:57 +0200] rev 2844
revset: bumped() is deprecated
Use phasedivergent() instead.
Match bd71c06eb62f mercurial changeset.
Boris Feld <boris.feld@octobus.net> [Fri, 11 Aug 2017 11:30:34 +0200] rev 2843
revset: divergent() is deprecated
Use contentdivergent() instead.
Match 4dd4757db73a mercurial changeset.
Boris Feld <boris.feld@octobus.net> [Fri, 11 Aug 2017 11:23:37 +0200] rev 2842
revset: unstable() is deprecated
Use orphan() instead.
Match c8c04a2b7bb4 mercurial changeset.
Boris Feld <boris.feld@octobus.net> [Fri, 11 Aug 2017 10:52:44 +0200] rev 2841
obsolete: allprecursors was deprecated
Use allpredecessors instead.
Match e6d8ee3c9ec3 mercurial changeset.
Boris Feld <boris.feld@octobus.net> [Fri, 11 Aug 2017 10:41:11 +0200] rev 2840
context: precursors was deprecated
Use predecessors instead.
Match d5acd967f95a mercurial changeset.
Boris Feld <boris.feld@octobus.net> [Fri, 11 Aug 2017 09:32:23 +0200] rev 2839
context: troubled was deprecated
Use isunstable instead.
Match 52c5ff856b49ac8f2a4eadda6dc9dbb070f39a3f mercurial changeset.
Boris Feld <boris.feld@octobus.net> [Thu, 10 Aug 2017 20:40:57 +0200] rev 2838
context: unstable was deprecated
Use orphan instead.
Match f163edb45c47 mercurial changeset.
Boris Feld <boris.feld@octobus.net> [Thu, 10 Aug 2017 20:31:39 +0200] rev 2837
context: troubles was deprecated
Use instabilities instead.
Match ab0c55c2ad9a mercurial changeset.
Boris Feld <boris.feld@octobus.net> [Thu, 10 Aug 2017 19:31:55 +0200] rev 2836
log: bumped was renamed into phasedivergent
Bumped was renamed into phasedivergent, update tests.
Match 9c27a2891b75 mercurial changeset.
Boris Feld <boris.feld@octobus.net> [Thu, 10 Aug 2017 17:57:50 +0200] rev 2835
log: divergent was renamed into contentdivergent
Divergent was renamed into contentdivergent, update tests.
Match 2194a8723138 mercurial changeset.
Boris Feld <boris.feld@octobus.net> [Thu, 10 Aug 2017 17:37:31 +0200] rev 2834
log: unstable was renamed into orphan
Unstable was renamed into orphan, update tests.
Match 03039ff3082b mercurial changeset.