HomePhabricator

rust-dirstate: add rust implementation of `parse_dirstate` and `pack_dirstate`

Authored by Alphare.

Description

rust-dirstate: add rust implementation of parse_dirstate and pack_dirstate

Working towards the goal of having a complete Rust implementation of
hg status, these two utils are a first step of many to be taken
to improve performance and code maintainability.

Two dependencies have been added: memchr and byteorder.
Both of them have been written by reputable community members and are
very mature crates.
The Rust code will often need to use their byte-oriented functions.

A few unit tests have been added and may help future development and debugging.

In a future patch that uses parse_dirstate to stat the working tree in
parallel - which neither the Python nor the C implementations do - actual
performance improvements will be seen for larger repositories.

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