Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 May 2017 16:09:03 +0200] rev 2301
obscache: load the disk data before checking is the cache is up to date
This is actually required since non-loaded cache will never be up to date...
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 02 May 2017 02:13:33 +0200] rev 2300
obscache: skip the cache entirely if not up to date
The current update code has some race condition windows around updating. But we
also ensure the cache are up to date with every transaction. So outdated cache
mean another client have been mudding the repository but things will get back
in place at the next transaction.
So we just skip using the cache when not up to date. This is not the best we
could do. But this is good enough for now.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 15:49:36 +0200] rev 2299
readme: mention that some improvement are enabled for 4.2 only
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 08:12:26 +0200] rev 2298
perf: use the cache to compute the obsolete set.
The official "obsolete" computation is switch to using the cache. This provide
noticable speed for operation that does not need to actually access the
obs markers. The part relating to obsolete changeset computation disappear from
the execution profile when it is used.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 08:14:00 +0200] rev 2297
perf: warm the cache after all transactions
This is the simplest way to ensure the data are up to date.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 08:13:24 +0200] rev 2296
perf: adds a cache to know if obsmarkers might affect a revision
Phase information still needs to be thrown in the mix to compute the final
information, but skipping reading the obsstore for most operation is a large
win.
Usage of this cache arrives in the next changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 08:07:05 +0200] rev 2295
perf: adds cachekey utility to validate changelog+obsstore content
We adds more helper about cache key to prepare the arrival of a cache that can
be updated iteratively (similar to branchmap cache)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 08:05:45 +0200] rev 2294
perf: adds some cache key helper on the obsstore class
This will be useful to allow validating cache depending on obsstore without
parsing the whole obsstore.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 06:06:41 +0200] rev 2293
compat: only install the better filtered message for mercurial 4.2 and above
The helper function does not exist in earlier version.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Apr 2017 05:35:01 +0200] rev 2292
evolve: update extension help
I'm pretty sure there are some missing bits, but this cannot be worse than
before.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Apr 2017 05:44:07 +0200] rev 2291
merge with stable
Boris Feld <boris.feld@octobus.net> [Fri, 28 Apr 2017 16:56:09 +0200] rev 2290
ui: change the hidden revision error message
It now display the same details than the warning
when the working directory parent become obsolete
like:
$ hg update 0
abort: hidden revision '0' (successor: f301a99bd857)!
$ hg up 1
abort: hidden revision '1' (pruned)!
$ hg update 0
abort: hidden revision '0' (successors: 91311af6da10, 70653776ec4c)!
Boris Feld <boris.feld@octobus.net> [Fri, 28 Apr 2017 16:57:41 +0200] rev 2289
ui: add better messages when the working copy become obsolete.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Apr 2017 15:29:32 +0200] rev 2288
topic: directly use "super" call
That is how one is supposed to do it.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 27 Apr 2017 20:52:09 +0200] rev 2287
repo: properly progate "destroyed" call to super class
The propagation of the 'destroyed' call was dropped. I'm not certain of the
consequences of having a partially broken "destroyed" call, but this can't be
good.