With the dirstate organized in a tree that mirrors the structure of the
filesystem tree, we can traverse both trees at the same time in order to
compare them. This is hopefully more efficient that building multiple
big hashmaps for all of the repository’s contents.
Details
Diff Detail
- Repository
- rHG Mercurial
- Branch
- default
- Lint
No Linters Available - Unit
No Unit Test Coverage
Event Timeline
rust/hg-core/src/dirstate_tree/status.rs | ||
---|---|---|
209 | See https://bz.mercurial-scm.org/show_bug.cgi?id=6456 about adding the edge case for symlinks on an encrypted ext4. | |
243 | I might expect the compiler to be clever enough to optimize the if out of the directory case, but maybe not? | |
359 | Shouldn't there be a call to a sort_*() method somewhere in there? I know it's sorted after the call, but either the docstring or the code is wrong. |
rust/hg-core/src/dirstate_tree/status.rs | ||
---|---|---|
243 | Do you mean to avoid calling matches when dirstate_node_state is None? It’s possible if matches the optimizer manages to prove matches side-effect-free, but I wouldn’t count on it. I’ll change the code. | |
359 | Good catch. The sort was initially here. I moved it to a caller (because the other caller doesn’t need sorting) and failed to update the doc-comment. |
See https://bz.mercurial-scm.org/show_bug.cgi?id=6456 about adding the edge case for symlinks on an encrypted ext4.