Don't make git checkouts world writable
Remove the src/test.rs implicit test.

It's not unreasonable to have unittests in a separate submodule of the
crate (being called `test` or `tests`), and having them in their own
file can be very sensible. Thus, the `src/test.rs` implicit default is
likely to trip up some perfectly reasonable use-cases. There's already
the `tests/...` default, so repairing a codebase after this removal is
just moving `src/test.rs` to `tests/whatever_name_you_want.rs`.

Closes #187.
auto merge of #188 : huonw/cargo/remove-src-test, r=wycats

It's not unreasonable to have unittests in a separate submodule of the
crate (being called `test` or `tests`), and having them in their own
file can be very sensible. Thus, the `src/test.rs` implicit default is
likely to trip up some perfectly reasonable use-cases. There's already
the `tests/...` default, so repairing a codebase after this removal is
just moving `src/test.rs` to `tests/whatever_name_you_want.rs`.

Closes #187.
Pass all formats via --extern for libs

While we support the `crate_type` key in the manifest, we need to pass through
all crate types to the `--extern` flag.

Closes #177
Add documentation and make minor variable renames
auto merge of #176 : cburgdorf/cargo/docs_1, r=alexcrichton

I was chasing the `cargo clean` command it's way down to get a better understanding of the inner workings of cargo. Those minor documentation changes and variable renaming are the outcome which I think make the code base just a tiny bit more welcoming :)
Add a `cargo run` command

This currently only supports executing the `src/main.rs` convention, no other.

Close #149
Add an installation script to the repo

This updates the `make install` target and adds a new `make dist` target which
will prepare a distributable tarball with an install script. All work is based
off the equivalent rust nightly tarball and nightly installation scripts.

Closes #159
Closes #184
auto merge of #189 : alexcrichton/cargo/all-crate-types, r=wycats

While we support the `crate_type` key in the manifest, we need to pass through
all crate types to the `--extern` flag.

Closes #177
auto merge of #190 : alexcrichton/cargo/cargo-run, r=wycats

This currently only supports executing the `src/main.rs` convention, no other.

Close #149
auto merge of #195 : alexcrichton/cargo/install, r=wycats

This updates the `make install` target and adds a new `make dist` target which
will prepare a distributable tarball with an install script. All work is based
off the equivalent rust nightly tarball and nightly installation scripts.

Closes #159
Closes #184
Allow tables in configuration
Allow configuratin ar/ld for rustc

This adds a new .cargo/config option which allows configuring the ar and linker
tools that rustc invokes. This should aid in any cross-compilation attempts.
auto merge of #196 : alexcrichton/cargo/linker-and-ar, r=wycats
Attempt to fix the windows dist bot
auto merge of #197 : alexcrichton/cargo/fix-windows-dist, r=wycats

The executables all have an `.exe` suffix which needs to be dealt with when moving files around.
Remove accidental debugging print
Re-attempt to fix the nightly windows installer
auto merge of #198 : rust-lang/cargo/another-nightly-fix, r=wycats

I actually verified it this time to make sure it passes!
remove unecessary return statement