Fri, 04 Jan 2013 19:23:26 +0100 perftest: add a command to benchmark construction of volatile cache
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 04 Jan 2013 19:23:26 +0100] rev 18240
perftest: add a command to benchmark construction of volatile cache Obsolescence and filtering related caches are critical. Having a handy way to check them is valuable.
Fri, 04 Jan 2013 19:22:40 +0100 perftest: add an option to invalidate volatile cache
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 04 Jan 2013 19:22:40 +0100] rev 18239
perftest: add an option to invalidate volatile cache Some revsets are sensitive to such initialization. Being able to test the impact is great.
Fri, 04 Jan 2013 19:22:15 +0100 perftest: document the perfrevset command
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 04 Jan 2013 19:22:15 +0100] rev 18238
perftest: document the perfrevset command I'll add an argument to it.
Fri, 04 Jan 2013 19:20:51 +0100 perftest: migrate to new style command declaration
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Jan 2013 19:20:51 +0100] rev 18237
perftest: migrate to new style command declaration Declaring synopsis and argument on the function site is much clearer.
Fri, 04 Jan 2013 19:18:12 +0100 perftest: drop duplicated codes
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 04 Jan 2013 19:18:12 +0100] rev 18236
perftest: drop duplicated codes The `perfnodelookup` lookup commands is duplicated. We drop the first version, overwritten by the seconds.
Fri, 04 Jan 2013 13:48:07 +0100 cmdutil: make options argument optional
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 04 Jan 2013 13:48:07 +0100] rev 18235
cmdutil: make options argument optional There is not reason to force passing of an empty options list.
Mon, 07 Jan 2013 17:23:25 +0100 branchmap: allow to use cache of subset
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 07 Jan 2013 17:23:25 +0100] rev 18234
branchmap: allow to use cache of subset Filtered repository are *subset* of unfiltered repository. This means that a filtered branchmap could be use to compute the unfiltered version. And filtered version happen to be subset of each other: - "all() - unserved()" is a subset of "all() - hidden()" - "all() - hidden()" is a subset of "all()" This means that branchmap with "unfiltered" filter can be used as a base for "hidden" branchmap that itself could be used as a base for unfiltered branchmap. unserved < hidden < None This changeset implements this mechanism. If the on disk branchcache is not valid we use the branchcache of the nearest subset as base instead of computing it from scratch. Such fallback can be cascaded multiple time is necessary. Note that both "hidden" and "unserved" set are a bit volatile. We will add more stable filtering in next changesets. This changeset enables collaboration between no filtering and "unserved" filtering. Fixing performance regression introduced by 47f00b0de337
Mon, 07 Jan 2013 17:16:24 +0100 repoview: add a subset table
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 07 Jan 2013 17:16:24 +0100] rev 18233
repoview: add a subset table This will be used by branchmap collaboration. See inline documentation for more details
Wed, 02 Jan 2013 01:40:42 +0100 branchmap: add a copy method
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Jan 2013 01:40:42 +0100] rev 18232
branchmap: add a copy method If we want branchcache of different filter to collaborate, they need a simple way to copy each other. This will ensure that each filtered have no side effect on other filter level cache.
Wed, 02 Jan 2013 01:40:06 +0100 clfilter: use empty frozenset intead of empty tuple
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Jan 2013 01:40:06 +0100] rev 18231
clfilter: use empty frozenset intead of empty tuple This will allows set operation needed for cache collaboration.
Mon, 07 Jan 2013 02:00:43 +0100 run-tests.py: don't use console for stdin when running in debug mode
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Jan 2013 02:00:43 +0100] rev 18230
run-tests.py: don't use console for stdin when running in debug mode Tests would wait for input instead of using non-interactive mode.
Mon, 07 Jan 2013 02:00:43 +0100 tests: make hghave and run-tests exit on unknown feature requirements
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Jan 2013 02:00:43 +0100] rev 18229
tests: make hghave and run-tests exit on unknown feature requirements
Mon, 07 Jan 2013 02:00:43 +0100 test-largefiles.t: fix wrong '#if hgweb' - it should be '#if serve'
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Jan 2013 02:00:43 +0100] rev 18228
test-largefiles.t: fix wrong '#if hgweb' - it should be '#if serve' A bug introduced in 0c1d10351869 did that a part of the test never was run.
Mon, 07 Jan 2013 02:00:29 +0100 dispatch: show empty filename in OSError aborts
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Jan 2013 02:00:29 +0100] rev 18227
dispatch: show empty filename in OSError aborts Mercurial would sometimes exit with: abort: No such file or directory where str of the actual OSError exception was the more helpful: [Errno 2] No such file or directory: '' The exception will now always show the filename and quote it: abort: No such file or directory: ''
Sun, 06 Jan 2013 04:04:44 +0100 test-dispatch.t: remove incorrect "cd $dir"
Mads Kiilerich <mads@kiilerich.com> [Sun, 06 Jan 2013 04:04:44 +0100] rev 18226
test-dispatch.t: remove incorrect "cd $dir" A line that should have been removed in 50fbe9063ff2.
Fri, 04 Jan 2013 13:03:44 -0600 merge with crew-stable
Kevin Bullock <kbullock@ringworld.org> [Fri, 04 Jan 2013 13:03:44 -0600] rev 18225
merge with crew-stable
Fri, 04 Jan 2013 19:06:42 +0100 dispatch: handle empty `testedwith` value in extension stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Jan 2013 19:06:42 +0100] rev 18224
dispatch: handle empty `testedwith` value in extension When extensions had an empty `testedwith` attribute the code tried to parse it and failed. As a result the actual error were shallowed by a This crash. We now treat empty strip as 'unknown'
Fri, 04 Jan 2013 19:05:20 +0100 destroyed: filter unknown before computing branchcache
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Jan 2013 19:05:20 +0100] rev 18223
destroyed: filter unknown before computing branchcache Branchcache of filtered version need up to date phase data.
Wed, 02 Jan 2013 01:36:57 +0100 branchmap: disable fallback to unfiltered branchcache
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Jan 2013 01:36:57 +0100] rev 18222
branchmap: disable fallback to unfiltered branchcache Disables this simple optimisation to allow coming more powerfull approach: cache collaboration. Our goal is to have branchcache collaborate. This means that unfiltered branchcache will fallback to some filtered branchcache if invalid. We can't have the filtered branchcache to use the unfiltered one. That would loop.
Fri, 21 Dec 2012 17:19:52 +0100 localrepo: filter unknown nodes from the phasecache on destroyed
Idan Kamara <idankk86@gmail.com> [Fri, 21 Dec 2012 17:19:52 +0100] rev 18221
localrepo: filter unknown nodes from the phasecache on destroyed When commit is followed by strip (qrefresh), phasecache contains nodes that were removed from the changelog. Since phasecache is filecached with .hg/store/phaseroots which doesn't change as a result of stripping, we have to filter it manually. If we don't write it immediately, the next time it is read from disk the nodes will be filtered again. That's what happened before, but there's no reason not to write it immediately. The change in test-keyword.t is caused by the above.
Fri, 04 Jan 2013 06:11:29 +0100 phases: make _filterunknown a member function of phasecache
Idan Kamara <idankk86@gmail.com> [Fri, 04 Jan 2013 06:11:29 +0100] rev 18220
phases: make _filterunknown a member function of phasecache We'd like the ability to call filterunknown on an existing phasecache instance after nodes are destroyed.
Fri, 04 Jan 2013 01:37:38 +0100 localrepo: drop `_cacheabletip` method
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Jan 2013 01:37:38 +0100] rev 18219
localrepo: drop `_cacheabletip` method It iss dead code now.
Fri, 04 Jan 2013 01:25:55 +0100 branchmap: drop `_cacheabletip` usage in `updatecache`
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Jan 2013 01:25:55 +0100] rev 18218
branchmap: drop `_cacheabletip` usage in `updatecache` Nobody overwrite the `_cacheabletip` any more. We always update the cache for the whole repo and write it to disk (or at list try to). The `updatecache` code is simplied to remove the double phase logic associated with _cacheabletip.
Fri, 28 Dec 2012 03:42:21 +0100 mq: drop `_cacheabletip` usage
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 28 Dec 2012 03:42:21 +0100] rev 18217
mq: drop `_cacheabletip` usage Strip have dedicated work around to solve the same problem, strip is even a fraction faster without that thanks to simpler update process of the branchcache.
Fri, 28 Dec 2012 02:34:32 +0100 bundlerepo: drop use of `_cacheabletip`
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Dec 2012 02:34:32 +0100] rev 18216
bundlerepo: drop use of `_cacheabletip` Now that bundlerepo use a read only VFS, we do not worry about what part of the branchmap is written back to disk. Nothing is written at all.
Fri, 28 Dec 2012 02:32:47 +0100 bundlerepo: enforce reading from core repo only
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 28 Dec 2012 02:32:47 +0100] rev 18215
bundlerepo: enforce reading from core repo only We do not want anything computed with the bundle overlay to be written back in the repo. Such write will likely contains invalid data. The short terms goal of this change is to drop use of `_cacheabletip` in bundle repo.
Fri, 04 Jan 2013 04:52:57 +0100 branchmap: ignore Abort error while writing cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Jan 2013 04:52:57 +0100] rev 18214
branchmap: ignore Abort error while writing cache Read only vfs can now raise Abort exception. Note that encoding.local are also a possible raiser.
Fri, 04 Jan 2013 01:07:25 +0100 vfs: add a read only vfs
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 04 Jan 2013 01:07:25 +0100] rev 18213
vfs: add a read only vfs This read only wrapper is intended to be used bundle repo. See follow up commit for details.
Sat, 22 Dec 2012 19:41:11 +0100 branchmap: read return None in case of failure
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 22 Dec 2012 19:41:11 +0100] rev 18212
branchmap: read return None in case of failure This makes a clear distinction between having read a valid cache on disk or not. This will help caches of various filtering level to collaborate.
Sat, 29 Dec 2012 00:40:18 +0100 clfilter: fallback to unfiltered version when linkrev point to filtered history
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Dec 2012 00:40:18 +0100] rev 18211
clfilter: fallback to unfiltered version when linkrev point to filtered history On `filectx`, linkrev may point to any revision in the repository. When the repository is filtered this may lead to `filectx` trying to build `changectx` for filtered revision. In such case we fallback to creating `changectx` on the unfiltered version of the reposition. This fallback should not be an issue because `changectx` from `filectx` are not used in complex operation that care about filtering. It is complicated to work around the issue in a clearer way as code raising such `filectx` rarely have access to the repository directly. Linkrevs create a lot of issue with filtering. It is stored in revlog entry at creation time and never changed. Nothing prevent the changeset revision pointed to become filtered. Several bogus behavior emerge from such situation. Those bugs are complex to solve and not part of the current effort to install filtering. This changeset is simple hack that prevent plain crash in favor on minor misbehavior without visible effect. This "hack" is longly documented in to code itself to help people that would look at it in the future.
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 +30000 tip