HomePhabricator

dirstate-v2: Separate HAS_FILE_MTIME and HAS_DIRECTORY_MTIME flags

Authored by SimonSapin.

Description

dirstate-v2: Separate HAS_FILE_MTIME and HAS_DIRECTORY_MTIME flags

Previously the same flag was used, with its meaning based on whether the node
otherwise identifies a file tracked anywhere.

In addition to being more explicit, this enables storing a directory mtime
if a given path used to be tracked in a parent commit (so the dirstate still
has data about it) but became a directory in the working copy.
(However this is not done yet as it would require a larger change,
replacing the dirstate_map::NodeData enum with struct fields.)

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

Details