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.