Thu, 21 Dec 2017 03:30:13 +0100 stablerange: use mergepoint based algorithm for the official stable range
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.
Thu, 21 Dec 2017 03:07:14 +0100 stablerange: explicitly create a stablerange entry for branchpoint method
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.
Mon, 18 Dec 2017 02:17:29 +0100 stablerange: have a mergepoint based sql backed class
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.
Mon, 18 Dec 2017 02:11:34 +0100 stablerange: introduce a sql backed version of the generic on disk cache
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.
Mon, 18 Dec 2017 01:11:01 +0100 stablerange: add a base class for on disk stored stablerange class
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
Thu, 21 Dec 2017 02:13:19 +0100 stablesort: use on disk cache for test
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
Thu, 21 Dec 2017 02:01:58 +0100 caches: factorise the cache warming check
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.
Thu, 21 Dec 2017 00:06:07 +0100 stablerange: use repo-carried stablesortcache
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
Thu, 21 Dec 2017 00:34:31 +0100 stablesort: expose the cache through the repository
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.
Wed, 29 Nov 2017 10:38:52 -0500 stablesort: implement an ondisk cache
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.
Wed, 20 Dec 2017 23:45:11 +0100 stablesort: realign a misaligned continue
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.
Wed, 20 Dec 2017 23:42:28 +0100 stablesort: remove some dead code
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.
Wed, 20 Dec 2017 23:08:31 +0100 stablesort: abstract all cache access
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
Mon, 18 Dec 2017 20:04:50 +0100 stablerange: use first merge cache to skip over linear section
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.
Wed, 20 Dec 2017 20:46:10 +0100 stablerange: add a new 'firstmerge' cache
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.
Wed, 20 Dec 2017 20:17:11 +0100 stablerange: drop unused `until` utility
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.
Wed, 20 Dec 2017 19:47:19 +0100 stablerange: use cached size data instead of walking the graph
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.
Wed, 20 Dec 2017 17:56:38 +0100 stablesort: record previous segment size in the jump
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.
Wed, 20 Dec 2017 17:59:14 +0100 stablesort: move jump recording inside the exclusive function
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.
Wed, 20 Dec 2017 17:49:41 +0100 stablerange: compute jump size after jump retrieval only
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.
Sun, 10 Dec 2017 03:49:48 +0100 stablesort: warm jump cache more efficiently
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.
Sun, 10 Dec 2017 03:39:56 +0100 stablesort: use a regular dict for jumps
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.
Wed, 20 Dec 2017 15:51:05 +0100 stablerange: use the jump information for faster iteration
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.
Sun, 10 Dec 2017 02:46:05 +0100 stablesort: expose the jumps sequence to other code
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.
Wed, 20 Dec 2017 16:20:26 +0100 stablesort: use 'depth' in mergepoint tie breaker
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,
Wed, 20 Dec 2017 13:41:33 +0100 stablesort: rework jump gathering
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.
Wed, 20 Dec 2017 12:36:45 +0100 stablesort: stop recording jump type
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
Wed, 20 Dec 2017 12:29:02 +0100 stablesort: pass a jump recording function instead of a list
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.
Wed, 20 Dec 2017 12:27:17 +0100 stablesort: minor indent fix
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 20 Dec 2017 12:27:17 +0100] rev 3318
stablesort: minor indent fix
Wed, 20 Dec 2017 12:19:59 +0100 stablesort: clarify subcall to the exclusive side
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.
Wed, 20 Dec 2017 13:18:49 +0100 docgraph: update test output with new output
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
Mon, 18 Dec 2017 09:04:16 +0100 stablesort: record, cache and reuse jump
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.
Mon, 18 Dec 2017 18:49:34 +0100 stablesort: fix head start computation
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.
Mon, 18 Dec 2017 08:36:52 +0100 stablesort: avoid attempting to sort a tuple
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.
Mon, 18 Dec 2017 07:20:14 +0100 stablerange: use the filterparents utility
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Dec 2017 07:20:14 +0100] rev 3312
stablerange: use the filterparents utility
Mon, 18 Dec 2017 07:10:43 +0100 stablesort: use the filtered parents 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
Mon, 18 Dec 2017 06:50:57 +0100 depthcache: use parents filter in depth cache
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
Mon, 18 Dec 2017 06:48:49 +0100 parents: add a utility to filter parents
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.
Mon, 18 Dec 2017 01:53:20 +0100 stablerange: abstract the bit able to store cache into sql
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.
Mon, 18 Dec 2017 00:40:07 +0100 stablerange: split pure algorithm part from the on disk cache
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.
Sun, 10 Dec 2017 05:17:04 +0100 stablerange: add an assert to detect buggy range
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.
Sun, 10 Dec 2017 04:57:19 +0100 stablerange: warn cache for all relevant ancestors range
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.
Sun, 10 Dec 2017 04:48:15 +0100 stablesort: move parent range computation into its own method
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.
Sun, 10 Dec 2017 03:58:22 +0100 stablerange: drop the basic inheritance from the 'mergepoint' version
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).
Sun, 10 Dec 2017 12:12:12 +0100 stablerange: cache known subrange at the stablerangecached level
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.
Sun, 17 Dec 2017 22:05:34 +0100 stablerange: use sort cache to build 'mergepoint' information
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.
Sun, 10 Dec 2017 03:31:28 +0100 stablesort: make the iteration from head available to all
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.
Sun, 17 Dec 2017 21:17:28 +0100 depth: fix compare mode for `debugdepth`
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.
Fri, 15 Dec 2017 10:14:42 +0100 memfilectx: changectx argument is not mandatory
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
Sat, 16 Dec 2017 23:52:32 +0100 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 16 Dec 2017 23:52:32 +0100] rev 3297
branching: merge stable into default
Thu, 14 Dec 2017 00:53:55 +0100 amend: fix a typo in amend help text related to the extract option stable
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/
Thu, 14 Dec 2017 13:19:56 +0100 topic: fix compatibility with 4.3 stable
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.
Tue, 12 Dec 2017 04:18:17 +0100 branching: merge stable back into default
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.
Tue, 12 Dec 2017 04:16:54 +0100 packaging: mark stable change as bugfix dev version stable
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.
Tue, 12 Dec 2017 04:15:26 +0100 Added tag 7.1.0 for changeset 06a3cb594956 stable
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
Tue, 12 Dec 2017 03:02:25 +0100 packaging: prepare release 7.1.0 stable 7.1.0
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Dec 2017 03:02:25 +0100] rev 3291
packaging: prepare release 7.1.0
Tue, 12 Dec 2017 04:08:22 +0100 branching: revert "stable" change into default
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.
Mon, 11 Dec 2017 18:30:15 +0100 test-compat: merge mercurial-4.2 into mercurial-4.1 mercurial-4.1
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
Mon, 11 Dec 2017 18:30:14 +0100 test-compat: merge mercurial-4.3 into mercurial-4.2 mercurial-4.2
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
Mon, 11 Dec 2017 16:32:03 +0100 test-compat: merge stable into mercurial-4.3 mercurial-4.3
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
(0) -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 tip