Skip to content
  • Georges Racinet's avatar
    rust-nodemap: a method for full invalidation · e843a593abcd
    Georges Racinet authored
    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 inconditionnally 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
    e843a593abcd