If manual modifications have been made or if cargo/rustc died for some sort of
error, then we don't consider a target as being fresh. If any of the files
output by a target don't end up existing in the target directory (even if the
fingerprint says they do), then we consider the target not fresh.
cc #986
If manual modifications have been made or if cargo/rustc died for some sort of
error, then we don't consider a target as being fresh. If any of the files
output by a target don't end up existing in the target directory (even if the
fingerprint says they do), then we consider the target not fresh.
cc #986
It turns out that the registry was being queried with git dependencies as well,
so this commit alters the core registry not query sources with dependencies that
did not originate from the source.
Closes#991
It turns out that the registry was being queried with git dependencies as well,
so this commit alters the core registry not query sources with dependencies that
did not originate from the source.
Closes#991
This is the same as the fix for #951 (fixed by #965). The relevant code was
erroneously looking at the source id when it should instead look at the entire
package id (name/version/source).
If a submodule's head commit doesn't exist, then we should attempt to update it
rather than aborting the updating process. This commit moves a local `try!` into
a `and_then` closure to prevent returning from the outer function to hopefully
catch more cases where the submodule needs to be updated.
cc #993, but I'm not sure if this fixes it
I'm a bit shaky on the profile.rs changes (`thread_local!` and `RefCell` relplacing `local_data_key!`), do make sure I haven't royally screwed something up there.
I'm a bit shaky on the profile.rs changes (`thread_local!` and `RefCell`
relplacing `local_data_key!`), do make sure I haven't royally screwed
something up there.
Note that I haven't sucessfully run the various test_cargo_cross_compile
tests as I don't have an i686-unknown-linux-gnu rustc sitting around.
Both the `index.md` and `guide.md` files show the hello world program source
(generated by `cargo new`) without a semicolon (`;`) at the end of the
`println!` line. The file generated by `cargo new` does and should have a
semicolon. This commit brings the docs in sync with the generated code.
Both the `index.md` and `guide.md` files show the hello world program source
(generated by `cargo new`) without a semicolon (`;`) at the end of the
`println!` line. The file generated by `cargo new` does and should have a
semicolon. This commit brings the docs in sync with the generated code.
If a submodule's head commit doesn't exist, then we should attempt to update it
rather than aborting the updating process. This commit moves a local `try!` into
a `and_then` closure to prevent returning from the outer function to hopefully
catch more cases where the submodule needs to be updated.
cc #993, but I'm not sure if this fixes it
This is the same as the fix for #951 (fixed by #965). The relevant code was
erroneously looking at the source id when it should instead look at the entire
package id (name/version/source).
Running a Rust program with some arguments such as files is a common use
case. The ZSH completion did not declare support for extra arguments to
"cargo run", so file completion was impossible. In practice pressing TAB
after writing "cargo run -- " gave no completion at all.
After this patch, cargo run can do "normal completion",
which in practice does file/directory completion. This works nicely
with "cargo run -- ".
Running a Rust program with some arguments such as files is a common use
case. The ZSH completion did not declare support for extra arguments to
"cargo run", so file completion was impossible. In practice pressing TAB
after writing "cargo run -- " gave no completion at all.
After this patch, cargo run can do "normal completion",
which in practice does file/directory completion. This works nicely
with "cargo run -- ".
When applying the lockfile to a resolve graph, we need to take into account that
the listed source of dependencies can change over time, in which case we cannot
lock to the previous version but instead need to continue onwards with updating
the listed source.
Closes#951
The logic for "not recursing into `target`" was pretty hokey and needed
replacement. This commit also unfies the paths a bit to ensure that the main
loop is the same part that adds the root package itself.
This reorganization ends up closing #937
The logic for "not recursing into `target`" was pretty hokey and needed
replacement. This commit also unfies the paths a bit to ensure that the main
loop is the same part that adds the root package itself.
This reorganization ends up closing #937
Some workspaces, such as windows, often have the home directory not in the
hierarchy of where projects live, which means that configuration may not work by
default. The home directory, however, is already singled out for `cargo login`
and it's pretty semantically special, so this commit ensures that we always look
at the home directory for configuration if it exists.
Closes#933
The `target` directory was erroneously being used from the crate root rather
than the root of the package directory itself, leading to packages not actually
testing what's precisely being published.