My current patche stack regarding filtering

Pierre-Yves David pierre-yves.david at logilab.fr
Mon Jan 7 18:01:40 UTC 2013


Here is summary of remaining changesets to be pushed with branchmap collaboration
use. They are grouped by series. Each series usually hold 1 or 2 core changes
and multiple trivial satellite changes. This results in a lot of patches but
most of them are trivial to review.

As discussed with Augie Fackler <raf at durin42.com> we should really prevent such
a big amount of change to stay pushed for month :-/


Z) Two remaining changesets regarding branchmap
=================================================

Z.1 clfilter: add mutable filtering
Z.2 clfilter: add impactable filter

This is pullable as:

hg pull -r Sbranchmap  http://hg-lab.logilab.org/wip/hg/


A) Declare hidden filter and use it in log
=================================================

This series is a refactor of current hidden handling. The repo.hiddenrevs
property is turned into a filter. User of the property are updated

The whole series is pretty simple.

A.1 clfilter: introduces a hidden filter
A.2 log: use "hidden" filtering instead of hidden revset
A.3 hidden: move computation in filter function
A.4 hidden: use both parents of working directory
A.5 revset: retrieve hidden from filteredrevs
A.6 context: retrieve hidden from filteredrevs
A.7 hidden: drop of the repo.hiddenrevs property

This is pullable as:

hg pull -r Sfilter  http://hg-lab.logilab.org/wip/hg/

B) Enforce hidden filtered Globally
=================================================

This series implement the wide filtering of hidden changeset on **all**
commands. This changes have been discussed and accepted before. The only
complicated changeset is B.1 change itself are not that big but impact on the
test is huge.

(depends on A)

B.1 clfilter: enforce hidden changeset globally
B.2 clfilter: highlight that hidden filtering is properly working on any commands
B.3 clfilter: drop unnecessary explicit filtering on rebase
B.4 clfilter: drop unnecessary explicit filtering on histedit

This is pullable as:

hg pull -r Shiddenglobal  http://hg-lab.logilab.org/wip/hg/

C) Wide usage of unserved filter
=============================

This series wider the use  of "unserved" filter in served situation. C.1 and C.3
do actually changes, other are trivial drop of dead code.


C.1 clfilter: peer use repo with "unserved" filter
C.2 clfilter: drop extra filtering in localpeer
C.3 clfilter: filter "unserved" on all wireprotocol commands call
C.4 clfilter: drop extra filtering in wireprotocol
C.5 discovery: drop the visiblebranchmap function
C.6 clfilter: remove the last usage of `visibleheads`
C.7 discovery: drop the visibleheads function

This is pullable as:

hg pull -r Sfilterserver  http://hg-lab.logilab.org/wip/hg/


D) Use filtering in hgweb
=============================

This series is less trivial. It make several refactor and fix in hgweb to use
the "unserved" filter on it.

(depends on C)


D.1 hgweb: no do not use listinsert(0, ...)
D.2 hgweb: fix limit parameters
D.3 hgweb: rely on repository.changelog for itereation
D.4 hgweb: run some critical part unfiltered
D.5 hgweb: apply "unserved" filter on all repo

This is pullable as:

hg pull -r Sfilterhgweb  http://hg-lab.logilab.org/wip/hg/

E) Perftest for volatiles set
================================

This series add a test of tools to performance of obsolete and filter related
changeset. It is pretty trivial

E.1 cmdutil: make options argument optional
E.2 perftest: drop duplicated codes
E.3 perftest: migrate to new style command declaration
E.4 perftest: document the perfrevset command
E.5 perftest: add an option to invalidate volatile cache
E.6 perftest: add a command to benchmark construction of volatile cache
E.7 perftest: allow selection of volatile set to benchmark

This is pullable as:

hg pull -r Sperftest  http://hg-lab.logilab.org/wip/hg/


F) Speedup various obsolete and filter computation
=================================================

This series boost the performance of a lot computation related to obsolete and
filtering. This makes the features Unnoticeable on huge repo.

F.2 depends on (A)

F.1 performance: speedup computation of obsolete revisions
F.2 performance: speedup computation of hidden revisions
F.3 performance: speedup computation of unserved revisions
F.4 performance: speedup computation of mutable revisions
F.5 performance: speedup computation of unstable revisions
F.6 performance: speedup computation of suspended revisions
F.7 performance: speedup computation of extinct revisions

This is pullable as:

hg pull -r Sspeedup  http://hg-lab.logilab.org/wip/hg/



-- 
Pierre-Yves David

http://www.logilab.fr/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-devel/attachments/20130107/eb55f12c/attachment.asc>


More information about the Mercurial-devel mailing list