Find a file
Tim Carey-Smith 2c12269e20 Syncs submodules after remote update (closes #370)
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.
2014-08-19 09:10:15 -07:00
DESIGN WIP 2014-04-11 17:39:18 -07:00
src Syncs submodules after remote update (closes #370) 2014-08-19 09:10:15 -07:00
tests Syncs submodules after remote update (closes #370) 2014-08-19 09:10:15 -07:00
.gitignore Add a configure script 2014-07-28 18:07:09 -07:00
.travis.install.deps.sh static.rust-lang.org may be stale again? 2014-08-16 10:59:52 -07:00
.travis.yml Register new snapshots 2014-07-29 23:06:21 -07:00
.vimrc Add vimrc settings 2014-04-29 11:43:18 -07:00
Cargo.lock Revert "Use libgit2 for driving git instead of the CLI" 2014-08-19 09:10:14 -07:00
Cargo.toml Revert "Use libgit2 for driving git instead of the CLI" 2014-08-19 09:10:14 -07:00
configure Revert "Use libgit2 for driving git instead of the CLI" 2014-08-19 09:10:14 -07:00
LICENSE-APACHE Add the standard Rust Apache/MIT license 2014-06-24 12:26:13 -07:00
LICENSE-MIT Add the standard Rust Apache/MIT license 2014-06-24 12:26:13 -07:00
Makefile.in Add a configure option to disable cross-tests 2014-08-10 22:04:15 -07:00
MANIFEST.md Use [[bin]] instead of [[executable]] in manifest examples 2014-07-18 12:58:48 +01:00
README.md Remove $ from lines in readme to improve copyability 2014-08-17 19:02:04 -04:00

Cargo downloads your Rust projects 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:

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.