-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vendored crates should be checked for changes #5805
Comments
This is currently expected behavior in that Cargo treats vendored crates like it does crates.io, it doesn't check any mtimes as it assumes it's all read-only. It is a performance optimization to not even look at the filesystem for these crates on incremental builds. The correct way to modify a vendored crate is to use |
Fortunately GNU Guix can bypass this pointless check, as I today discovered. |
Work around rust-lang/cargo#5805.
When I vendor code into my repository, it changes line endings (and nothing else) which triggers this check. Is there any way to disable or at least mitigate the error in this situation? |
Does revendor.scm not work for you? |
As this is expected behavior and is important for performance reasons, I'm going to propose to the cargo team that we close this. |
Instead of closing this now, I would like to see an improvement in the cargo-vendor doc. Could document that vendored sources are not intended to be modified, and |
cargo-vendor should have an option to generate the necessary |
claim first, question it later~ @rustbot claim |
[docs]: Clarify vendored sources as read-only and way to modify What does this PR try to resolve? To document that vendored sources are not intended to be modified, and `[patch]` or a `path` dependency is the correct way to modify a vendored crate. #5805 (comment)
#13512 has improved the doc a bit, so I am fine closing this.
@briansmith feel free to open an issue if you have an idea how it would look like. Thank you :) |
I was building Firefox, and tried to do some changes to some rust crate. Doing so made the build fail with something like
That's an IMO annoying feature of cargo, but this is not what this issue is about. The problem is the following: if I actually build the crate first, and then make the changes, rebuilding just goes on acting as if I had made no change, saying
Fresh $crate_name
.It seems to me cargo should fail with the exact same error as if I hadn't already built.
Cc: @alexcrichton
The text was updated successfully, but these errors were encountered: