##// END OF EJS Templates
rhg: Add support for `rhg status --copies`...
rhg: Add support for `rhg status --copies` Copy sources are collected during `status()` rather than after the fact like in Python, because `status()` takes a `&mut` exclusive reference to the dirstate map (in order to potentially mutate it for directory mtimes) and returns `Cow<'_, HgPath>` that borrow the dirstate map. Even though with `Cow` only some shared borrows remain, the still extend the same lifetime of the initial `&mut` so the dirstate map cannot be borrowed again to access copy sources after the fact: https://doc.rust-lang.org/nomicon/lifetime-mismatch.html#limits-of-lifetimes Additionally, collecting copy sources during the dirstate tree traversal that `status()` already does avoids the cost of another traversal or other lookups (though I haven’t benchmarked that cost). Differential Revision: https://phab.mercurial-scm.org/D11899

File last commit:

r35587:96421278 default
r49285:473af5cb default
Show More
config
7 lines | 399 B | text/plain | TextLexer
# Rust builds with a modern MSVC and uses a newer CRT.
# Python 2.7 has a shared library dependency on an older CRT (msvcr90.dll).
# We statically link the modern CRT to avoid multiple msvcr*.dll libraries
# being loaded and Python possibly picking up symbols from the newer runtime
# (which would be loaded first).
[target.'cfg(target_os = "windows")']
rustflags = ["-Ctarget-feature=+crt-static"]