HomePhabricator

dirstate-v2: Separate iterators for dirfoldmap and debugdirstate

Authored by SimonSapin.

Description

dirstate-v2: Separate iterators for dirfoldmap and debugdirstate

dirstatemap.dirfoldmap was recently changed to re-use a Rust iterator
that was added for the hg debugdirstate command.

That iterator was based on all nodes in the tree dirstate without an entry
only existing to hold child nodes, and therefore being directories.
However to optimize status further we may want to store additional nodes
for unknown or ignored files and directories. At that point the two users
of this iterator will want different things, so let’s make two iterators
instead.

See doc-comments in dispatch.rs.

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