Tue, 09 Jan 2018 15:39:47 +0530 evolve: use phases.new-commit config to retain phase information (issue5720)
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.
Tue, 09 Jan 2018 15:33:57 +0530 tests: add a test demonstarting lose of phase in `hg evolve`
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.
Sat, 06 Jan 2018 19:07:43 +0530 evolve: add a utility fn to check validity of opts passed to `hg evolve`
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`
Sat, 06 Jan 2018 18:48:15 +0530 evolve: don't use graftstate for continuing `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.
Tue, 09 Jan 2018 23:42:57 +0530 topics: add a new templatekeyword `topic`
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.
Wed, 10 Jan 2018 10:54:02 +0000 packaging: update MANIFEST.in to include new tutorial files
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.
Sat, 16 Dec 2017 23:40:42 +0100 test-compat: merge mercurial-4.2 into mercurial-4.1 mercurial-4.1
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
Sat, 16 Dec 2017 23:40:40 +0100 test-compat: merge mercurial-4.3 into mercurial-4.2 mercurial-4.2
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
Sat, 16 Dec 2017 23:40:39 +0100 test-compat: merge stable into mercurial-4.3 mercurial-4.3
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
Wed, 25 Oct 2017 11:27:04 +0200 test: add a test to reproduce issue 5720
Boris Feld <boris.feld@octobus.net> [Wed, 25 Oct 2017 11:27:04 +0200] rev 3379
test: add a test to reproduce issue 5720
Tue, 04 Jul 2017 14:55:50 +0200 test: add missing cycle test
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.
Mon, 08 Jan 2018 17:38:58 +0100 Small typos fixing in the topic tutorial
Boris Feld <boris.feld@octobus.net> [Mon, 08 Jan 2018 17:38:58 +0100] rev 3377
Small typos fixing in the topic tutorial
Mon, 08 Jan 2018 11:46:53 +0100 doc: import the training support
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.
Fri, 05 Jan 2018 23:20:30 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 05 Jan 2018 23:20:30 +0100] rev 3375
branching: merge with stable
Fri, 05 Jan 2018 17:15:43 +0530 evolve: use new trouble names in commit messages
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.
Sat, 09 Dec 2017 08:19:07 +0530 evolve: use compat.TROUBLES to show troubles in user interface
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.
Thu, 28 Dec 2017 04:09:02 +0530 topics: list only topic names in quiet mode
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.
Wed, 27 Dec 2017 23:51:18 +0530 topics: take logic to parse username to a separate function
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.
Fri, 05 Jan 2018 22:50:21 +0100 changelog: fix a typo in the changelog
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.
Fri, 05 Jan 2018 04:37:19 +0100 caches: switch to 'auto' warming by default
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.
Fri, 05 Jan 2018 04:26:59 +0100 caches: add a 'auto' option for obshashrange cache warming
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.
Fri, 05 Jan 2018 04:26:51 +0100 caches: extract some config reading in 'shouldwarmcache'
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'
Fri, 05 Jan 2018 03:35:07 +0100 caches: pass the transaction to the "shouldwarncache" logic
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.
Fri, 05 Jan 2018 22:17:27 +0100 caches: record 'desc' attribute on 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.
Fri, 05 Jan 2018 04:37:49 +0100 caches: protect against missing connection
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.
Wed, 27 Dec 2017 05:01:30 +0530 evolve: don't show working directory obsolete message if we were on it stable
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.
Thu, 28 Dec 2017 03:12:54 +0530 prev: jump to parent's successor if parent is obsolete and topic is involved stable
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.
Thu, 28 Dec 2017 03:08:22 +0530 tests: add a test showing wrong behaviour doing `hg prev` on orphan cset stable
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.
Fri, 05 Jan 2018 09:51:07 +0100 test: update output to 02fdb8c018aa
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
Fri, 05 Jan 2018 09:23:09 +0100 test: update output to 9b3f95d9783d
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
Thu, 21 Dec 2017 06:12:02 +0100 stablesort: use parent filtering in a place we forgot to
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.
Thu, 21 Dec 2017 06:18:50 +0100 obshashrange: add a progressbar to upgrade
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.
Thu, 21 Dec 2017 04:29:02 +0100 stablerange: add an sql index on subranges id too
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.
Thu, 21 Dec 2017 04:14:05 +0100 obshashrange: less brutal reset when receiving markers on existing node
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.
Thu, 21 Dec 2017 04:39:45 +0100 obshashrange: update the cache updating logic
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).
Thu, 21 Dec 2017 04:24:37 +0100 stablerange: cleanup the update logic
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 21 Dec 2017 04:24:37 +0100] rev 3353
stablerange: cleanup the update logic
Thu, 21 Dec 2017 04:23:45 +0100 stablesort: 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
Thu, 21 Dec 2017 04:22:36 +0100 firstmergecache: 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
Thu, 21 Dec 2017 04:21:53 +0100 depthcache: 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
Thu, 21 Dec 2017 04:12:02 +0100 changelog: add an entry about the obshashrange changes
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
Thu, 21 Dec 2017 04:35:40 +0100 stablerange: be more cautious when deleting the sql connection
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.
Thu, 21 Dec 2017 03:42:54 +0100 stablerange: clarify sql transaction logic
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.
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
Mon, 11 Dec 2017 16:12:38 +0100 test: backed out test change from changeset a18ca224e812 stable
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.
Mon, 11 Dec 2017 16:02:42 +0100 test: backed out output change from 85ab7d2d9fd6 stable
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).
Tue, 12 Dec 2017 03:21:46 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Dec 2017 03:21:46 +0100] rev 3284
branching: merge with stable
Tue, 12 Dec 2017 00:27:08 +0530 obsnote: warn if user try to store a note in obsmarker on an older hg
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.
Tue, 12 Dec 2017 02:16:58 +0100 topic: use 'hookargs' over 'tr.changes' for flow control
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.
Tue, 12 Dec 2017 01:27:12 +0100 topic: move function wrapping from reposetup to uisetup
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.
Tue, 12 Dec 2017 00:16:55 +0100 test: publish the root of the repo in flow reject-untopiced
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
Tue, 12 Dec 2017 01:10:44 +0100 genericcaches: handle the lack of util.timer in 4.1
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.
Mon, 11 Dec 2017 23:47:25 +0530 topics: fix `hg stack` in case of split stable
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.
Mon, 11 Dec 2017 23:33:50 +0530 tests: add a test showing traceback on `hg stack` in case of split stable
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.
Mon, 11 Dec 2017 15:49:22 +0100 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 11 Dec 2017 15:49:22 +0100] rev 3276
branching: merge stable into default
Mon, 11 Dec 2017 09:33:32 +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 09:33:32 +0100] rev 3275
test-compat: merge mercurial-4.2 into mercurial-4.1
Mon, 11 Dec 2017 09:33:16 +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 09:33:16 +0100] rev 3274
test-compat: merge mercurial-4.3 into mercurial-4.2
Mon, 11 Dec 2017 09:33:04 +0100 test-compat: merge stable into mercurial-4.3 mercurial-4.3
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
Mon, 11 Dec 2017 09:21:47 +0100 changelog: add an entry for the split+branch fix stable
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.
Sun, 10 Dec 2017 22:08:54 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 10 Dec 2017 22:08:54 +0100] rev 3271
branching: merge with stable
Sun, 10 Dec 2017 21:44:10 +0100 split: force the branch to fix the split bug 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
Sun, 10 Dec 2017 21:41:56 +0100 split: add a test demonstrating that split doesn't take the right branch stable
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.
Sun, 10 Dec 2017 05:04:41 +0100 stablerange: compute the subrange closure on an unfiltered repository
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.
Sun, 26 Nov 2017 10:34:46 -0500 stablesort: write a flat version of the algorithm
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.
Sat, 25 Nov 2017 18:53:23 -0500 stablesort: simplify processing of non-merge changesets
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.
Sat, 25 Nov 2017 18:42:23 -0500 stablesort: extract a '_revsfrom' method
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.
Sun, 10 Dec 2017 01:48:32 +0100 stablerange: use the new cache object in the 'mergepoint' version
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.
Sat, 25 Nov 2017 18:31:37 -0500 stablesort: introduce a cache object
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.
Sat, 25 Nov 2017 16:05:09 -0500 stablesort: start implementing more advanced version of headstart sorting
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.
Sun, 10 Dec 2017 01:38:48 +0100 stablerange: make use of the limit argument in 'mergepoint'
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.
Sun, 10 Dec 2017 01:33:39 +0100 stablerange: introduce a smarte version of stablerange for 'mergepoint'
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.
Sun, 10 Dec 2017 01:26:40 +0100 stablerange: introduce an intermediary abstract class for caching
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.
Sun, 10 Dec 2017 01:06:16 +0100 stablerange: introduce a basic-mergepoint method
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.
Sun, 26 Nov 2017 11:58:35 -0500 stablesort: add a new test to check for fully independant branches
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.
Sat, 25 Nov 2017 17:37:37 -0500 stablesort: add a --limit argument
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.
Sat, 25 Nov 2017 15:14:50 -0500 stablesort: introduce a mergepoint based method focused on head
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.
Sat, 25 Nov 2017 04:09:17 -0500 stablesort: introduce a "mergepoint" method
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.
Sun, 10 Dec 2017 00:20:06 +0100 stablerange: fallback to a more naive approach to find subrange
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.
Sat, 09 Dec 2017 22:49:07 +0100 stablebranch: avoid overlap between subrange
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.
Sat, 09 Dec 2017 22:37:10 +0100 stablerange: introduce an 'basicstablerange'
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.
Wed, 29 Nov 2017 11:18:53 -0500 stablerange: extract the core API into a 'stablerangecore' class
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.
Sat, 09 Dec 2017 22:17:00 +0100 stable-branch: setup tests to use a specific method by default
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.
Wed, 29 Nov 2017 10:53:21 -0500 stablerange: rework the debug command to allow for multiple method
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).
Sat, 09 Dec 2017 17:34:33 +0100 deptcache: make sure we warm the dept cache before warming the obsdiscovery
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
Thu, 23 Nov 2017 16:37:24 +0100 stablesort: add a 'method' argument to the debugstablesort command
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.
Sat, 25 Nov 2017 02:58:47 -0500 stablesort: rename function to stablesort_branchpoint
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.
Sat, 09 Dec 2017 17:14:53 +0100 stablerange: update the filename to avoid cache confusion
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.
Thu, 23 Nov 2017 16:34:50 +0100 stablesort: extract in its own module
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.
Wed, 29 Nov 2017 12:48:45 -0500 compat: in depth cache, only use cachevfs when available
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.
Thu, 23 Nov 2017 16:53:29 +0100 depthcache: issue a progress bar when loading the depth cache
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.
Wed, 22 Nov 2017 15:05:15 +0100 depthcache: move to a dedicated object and storage
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.
Wed, 22 Nov 2017 13:44:44 +0100 cache: adds debug details about what the content of the update
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.
Wed, 22 Nov 2017 13:40:47 +0100 cache: introduce a changelogsourcebase class
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.
Wed, 22 Nov 2017 13:40:05 +0100 cache: introduce an abstract class for cache we can upgrade incrementally
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.
Wed, 22 Nov 2017 16:57:07 +0100 depth: basic debugdepth implementation and test
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.
Sat, 09 Dec 2017 06:13:28 +0100 topics: add a config to reject draft changeset without topic on a server
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.
Sat, 09 Dec 2017 05:05:39 +0100 test: update output to ad5f2b923b0d
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
Thu, 07 Dec 2017 20:34:18 +0100 touch: shorten touch's docstring to make it fit into a one line stable
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.
Tue, 05 Dec 2017 18:31:08 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 05 Dec 2017 18:31:08 +0100] rev 3232
branching: merge with stable
Wed, 06 Dec 2017 02:08:37 +0100 help: promote "amend" to important command 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".
Tue, 05 Dec 2017 16:11:08 -0800 help: fix output for `hg help -e evolve` wrt 'touch' command stable
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
Tue, 05 Dec 2017 16:08:50 -0800 help: remove a few commands from `hg` (no args) command list stable
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
Mon, 04 Dec 2017 14:27:27 -0800 typos: fix typos in several locations stable
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.
Tue, 05 Dec 2017 13:53:04 +0100 topic: use more protective code to access current topic stable
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.
Tue, 05 Dec 2017 13:21:57 +0100 topic: use more protective code to access publishing code stable
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.
Mon, 04 Dec 2017 14:27:27 -0800 typos: fix typos in several locations
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.
Mon, 04 Dec 2017 17:16:01 +0530 tests: add a test for newline in obsnote
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 04 Dec 2017 17:16:01 +0530] rev 3224
tests: add a test for newline in obsnote
Mon, 04 Dec 2017 15:50:32 +0530 obsnote: don't add '' to note while showing it in obslog
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
Sun, 03 Dec 2017 23:40:08 +0530 obsnote: add an entry in CHANGELOG about it
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Dec 2017 23:40:08 +0530] rev 3222
obsnote: add an entry in CHANGELOG about it
Fri, 17 Nov 2017 03:14:47 +0530 amend: add support for storing a note in obsmarker
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 17 Nov 2017 03:14:47 +0530] rev 3221
amend: add support for storing a note in obsmarker
Fri, 17 Nov 2017 03:14:31 +0530 uncommit: 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
Fri, 17 Nov 2017 03:14:20 +0530 fold: 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
Fri, 17 Nov 2017 03:14:08 +0530 metaedit: 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
Fri, 17 Nov 2017 03:13:52 +0530 prune: 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
Fri, 17 Nov 2017 03:06:06 +0530 split: 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
Sun, 12 Nov 2017 01:54:13 +0530 touch: 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
Sun, 12 Nov 2017 01:35:51 +0530 obslog: add initial support for showing note in obslog
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.
Sun, 12 Nov 2017 01:26:30 +0530 cmdrewrite: add a utility function to make sure note is of valid format
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.
Thu, 30 Nov 2017 12:14:36 -0500 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 30 Nov 2017 12:14:36 -0500] rev 3212
branching: merge with stable
Wed, 29 Nov 2017 20:50:37 -0500 test: remove dangling --config in test-metaedit.t
Boris Feld <boris.feld@octobus.net> [Wed, 29 Nov 2017 20:50:37 -0500] rev 3211
test: remove dangling --config in test-metaedit.t
Thu, 30 Nov 2017 21:31:14 -0800 tests: fix previously accidentally matching regexes in test-touch.t stable
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.
Thu, 30 Nov 2017 12:09:21 -0500 test: update test-discovery-obshashrange.t stable
Boris Feld <boris.feld@octobus.net> [Thu, 30 Nov 2017 12:09:21 -0500] rev 3209
test: update test-discovery-obshashrange.t
Wed, 29 Nov 2017 20:50:37 -0500 test: remove dangling --config in test-metaedit.t stable
Boris Feld <boris.feld@octobus.net> [Wed, 29 Nov 2017 20:50:37 -0500] rev 3208
test: remove dangling --config in test-metaedit.t
Fri, 24 Nov 2017 23:46:56 -0500 serverminitopic: also avoid reading
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.
Wed, 15 Nov 2017 08:00:17 +0100 topic: introduce a minimal extensions to enable topic on the server
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.
Sat, 25 Nov 2017 17:47:02 -0500 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 25 Nov 2017 17:47:02 -0500] rev 3205
branching: merge stable into default
Fri, 24 Nov 2017 22:36:57 +0100 pusoperation: wrap pushoperation __init__ directly stable
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.
Thu, 23 Nov 2017 00:29:52 +0100 hgignore: fix .err matching patterns stable
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.
Sun, 19 Nov 2017 04:47:10 +0100 changelog: fix 7.0.0 release date stable
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.
Fri, 17 Nov 2017 00:51:31 +0100 changelog: mention the improved verbosity handling
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Nov 2017 00:51:31 +0100] rev 3201
changelog: mention the improved verbosity handling
Fri, 17 Nov 2017 00:49:09 +0100 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Nov 2017 00:49:09 +0100] rev 3200
branching: merge with stable
Fri, 17 Nov 2017 00:48:08 +0100 changelog: update missing release date stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 17 Nov 2017 00:48:08 +0100] rev 3199
changelog: update missing release date
Thu, 16 Nov 2017 11:38:33 -0800 summaryhook: respect -q flag
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.
Thu, 16 Nov 2017 11:32:24 -0800 summaryhook: remove unused function
Martin von Zweigbergk <martinvonz@google.com> [Thu, 16 Nov 2017 11:32:24 -0800] rev 3197
summaryhook: remove unused function
(0) -3000 -1000 -192 +192 +1000 tip