The existing pack_dirstate function relies on implementation details
of DirstateMap, so extract some parts of it as separate functions
for us in the tree-based DirstateMap.
The bytes-cast crate is updated to a version that has an as_bytes method,
not just from_bytes:
https://docs.rs/bytes-cast/0.2.0/bytes_cast/trait.BytesCast.html#method.as_bytes
Drive-by refactor clear_ambiguous_times which does part of the same thing.
I know you're the author of that crate (and that this is because 0.2 adds supports for casting as bytes), but a general good practice when updating dependencies is to explain why you've done so in the commit message.