0.1.17 breaks vendoring when you have replacement sources from git checkouts #140
Comments
Adding an additional check for a git checkout here: Lines 235 to 238 in b7eaef8
seems to fix things. I'm not sure if that's the right fix, but it certainly seems in the spirit of the comment! |
Some debugging output to indicate what
What I don't really understand in this case is why it thinks |
Ah, because we have:
in Cargo.toml, so we're only replacing |
Ah ok I see what's happening here. I think yeah it's fine to just skip git repos for now, and we can always fix those later and add full support at a later date if necessary |
Otherwise we risk deleting real code that won't be redownloaded properly. Fixes alexcrichton#140.
Firefox uses a custom fork of
serde
; its.cargo/config.in
contains:My local cargo git cache (is that what it's called?) for
serde
looks like:When I use
cargo-vendor
0.1.17 or above to try to re-vendor some changes, I get peculiar error messages:There's some Firefox-specific stuff in there, but the core idea is that we invoked
cargo vendor --quiet --sync Cargo.lock $VENDOR_DIR
and we get the above. My cached serde checkout now looks like:Somehow, the
serde_derive
directory from the checkout has gotten deleted. I don't exactly understand how the fix for #130 is responsible for this, but this seems like a bad thing. My suspicion is that cargo doesn't try very hard to re-download git checkouts, or something?/cc @luser @alexcrichton
The text was updated successfully, but these errors were encountered: