HomePhabricator

rust-nodemap: a method for full invalidation

Authored by gracinet.

Description

rust-nodemap: a method for full invalidation

This will be used for exceptional operations,
such as a __delitem__ on the MixedIndex with
Rust nodemap.

In principle, NodeTree should also be able to forget
an entry in an efficient way, by accepting to insert
Element::None instead of only Element::Rev(r),
but that seems really overkill at this point. We need
to support exceptional operations such as __delitem__,
only for completeness of the revlog index as seen from
Python. The Python callers don't seem to even really
need it, deciding to drop the nodemap unconditionally at
at higher level when calling hg strip. Also, hg strip
is very costly for reasons that are unrelated to nodemap
aspects.

Differential Revision: https://phab.mercurial-scm.org/D8098

Details

Committed
gracinetFeb 18 2020, 1:11 PM
Differential Revision
D8098: rust-nodemap: a method for full invalidation
Parents
rHG6329ce04c69f: rust-nodemap: accounting for dead blocks
Branches
Unknown
Tags
Unknown