mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-25 11:14:46 +00:00

This commit adds support for recognizing "fingerprints" of upstream dependencies. When a dependency's fingerprint change, it must be rebuilt. Currently the fingerprint unconditionally includes the version of the compiler you're using as well as a specialized version depending on the type of source you're compiling from: - git sources return their fingerprint as the current SHA. This will disregard any local changes. - path sources return their fingerprint as the maximum mtime of any file found at the location. This is a little too coarse and may rebuild packages too often (due to sub-packages), but this should get the job done for now. When executing `cargo compile`, dependencies are not rebuilt if their fingerprint remained constant.