2c12269e20
Previously, the Git code avoided cloning a local copy of the local database for a repository if the repo already existed (and instead tried to fetch). However, fetching does not sync and reinitialize submodules, which would require more work. To avoid this problem, and possibly other subtle updating issues in the future, the code now wipes the local clone whenever it detects that the HEAD of a particular branch has changed. This avoids subtle inconsistencies between fresh clones and updates. Note: This only affects local-to-local clones. It does not initiate any new network activity. It may require some additional disk usage, but only when a remote fetch that was already happening discovers new commits on the checked-out branch. |
||
---|---|---|
DESIGN | ||
src | ||
tests | ||
.gitignore | ||
.travis.install.deps.sh | ||
.travis.yml | ||
.vimrc | ||
Cargo.lock | ||
Cargo.toml | ||
configure | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
Makefile.in | ||
MANIFEST.md | ||
README.md |
Cargo downloads your Rust project’s dependencies and compiles your project.
Learn more at http://crates.io/.
Installing cargo from nightlies
Cargo has nightlies available for use. The cargo source is not always guaranteed to compile on rust master as it may lag behind by a day or two. Nightlies, however, will run regardless of this fact!
triple=x86_64-unknown-linux-gnu
curl -O http://static.rust-lang.org/cargo-dist/cargo-nightly-$triple.tar.gz
tar xf cargo-nightly-$triple.tar.gz
./cargo-nightly-$triple/install.sh
Nightlies are available for the following triples:
x86_64-unknown-linux-gnu
i686-unknown-linux-gnu
x86_64-apple-darwin
i686-apple-darwin
i686-pc-mingw32
Note that if you're using the windows snapshot you will need Mingw-w64 installed as well as MSYS. The installation script needs to be run inside the MSYS shell.
Compiling cargo
Cargo can be compiled like many other standard unix-like projects:
git clone https://github.com/rust-lang/cargo
cd cargo
./configure
make
make install
More options can be discovered through ./configure
, such as compiling cargo
for more than one target. For example, if you'd like to compile both 32 and 64
bit versions of cargo on unix you would use:
$ ./configure --target=i686-unknown-linux-gnu,x86_64-unknown-linux-gnu
Contributing to the Docs
To contribute to the docs, please submit pull requests to wycats/cargo-website. All you need to do is change the markdown files in the source directory.
Reporting Issues
Found a bug? We'd love to know about it!
Please report all issues on the github issue tracker.
License
Cargo is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.