Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cargo install: Be more restrictive about cli flags. #6801

Merged
merged 1 commit into from Apr 1, 2019

Conversation

Projects
None yet
6 participants
@ehuss
Copy link
Contributor

ehuss commented Mar 31, 2019

Several flags in cargo install are silently ignored depending on what is used. This adds some validation so that invalid combinations are rejected. I have been sorta confused by these in the past.

  • The 3 source flags (--git, --path, and --registry) are mutually exclusive.
  • The --git flags (branch, tag, rev) are only valid if --git is specified.
  • --registry requires a crate name (otherwise it would be ignored and treated as a path source).
  • --version is only used when a crate name is specified.
@rust-highfive

This comment has been minimized.

Copy link

rust-highfive commented Mar 31, 2019

r? @Eh2406

(rust_highfive has picked a reviewer for you, use r? to override)

@Eh2406

This comment has been minimized.

Copy link
Contributor

Eh2406 commented Mar 31, 2019

Lgtm

@alexcrichton

This comment has been minimized.

Copy link
Member

alexcrichton commented Apr 1, 2019

@bors: r=Eh2406

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Apr 1, 2019

📌 Commit b666a9f has been approved by Eh2406

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Apr 1, 2019

⌛️ Testing commit b666a9f with merge fccca68...

bors added a commit that referenced this pull request Apr 1, 2019

Auto merge of #6801 - ehuss:install-flags, r=Eh2406
cargo install: Be more restrictive about cli flags.

Several flags in `cargo install` are silently ignored depending on what is used. This adds some validation so that invalid combinations are rejected.  I have been sorta confused by these in the past.

- The 3 source flags (`--git`, `--path`, and `--registry`) are mutually exclusive.
- The `--git` flags (branch, tag, rev) are only valid if `--git` is specified.
- `--registry` requires a crate name (otherwise it would be ignored and treated as a path source).
- `--version` is only used when a crate name is specified.
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Apr 1, 2019

☀️ Test successful - checks-travis, status-appveyor
Approved by: Eh2406
Pushing fccca68 to master...

@bors bors merged commit b666a9f into rust-lang:master Apr 1, 2019

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
homu Test successful
Details

@dtolnay dtolnay referenced this pull request Apr 3, 2019

Merged

Update cargo #59681

Centril added a commit to Centril/rust that referenced this pull request Apr 5, 2019

Rollup merge of rust-lang#59681 - dtolnay:cargo, r=alexcrichton
Update cargo

20 commits in
63231f438a2b5b84ccf319a5de22343ee0316323..6f3e9c367abb497c64f360c3839dab5e74928d5c
2019-03-27 12:26:45 +0000 to 2019-04-04 14:11:33 +0000
- Fix Init for Fossil SCM project (rust-lang/cargo#6792)
- Fix member_manifest_version_error accessing the network (rust-lang/cargo#6799)
- Don't include email if it is empty (rust-lang/cargo#6802)
- Fix unused import warning (rust-lang/cargo#6807)
- Add some help and documentation for unstable flags (rust-lang/cargo#6791)
- Allow `cargo doc --open` with multiple packages (rust-lang/cargo#6803)
- Allow `cargo install --path P` to load config from P (rust-lang/cargo#6804)
- Add more suggestions on how to deal with excluding a package from a workspace (rust-lang/cargo#6805)
- Warn on version req with metadata (rust-lang/cargo#6806)
- cargo install: Be more restrictive about cli flags (rust-lang/cargo#6801)
- Support force-pushed repos with git-fetch-with-cli (rust-lang/cargo#6800)
- Cargo clippy (rust-lang/cargo#6759)
- Don't include metadata in wasm binary examples (rust-lang/cargo#6812)
- Update glossary for `feature` (rust-lang/cargo#6809)
- Include proc-macros in `build-override` (rust-lang/cargo#6811)
- Resolver: A dep is equivalent to one of the things it can resolve to (rust-lang/cargo#6776)
- Add some docs for `Downloads` (rust-lang/cargo#6815)
- Resolve: Be less strict while offline (rust-lang/cargo#6814)
- Accept trailing comma in test of impl Debug for PackageId (rust-lang/cargo#6818)
- Fix doc link (rust-lang/cargo#6820)

<br>

I specifically care about "Accept trailing comma in test of impl Debug for PackageId (rust-lang/cargo#6818)" to unblock rust-lang#59076.

Mentioning @ehuss.

bors added a commit to rust-lang/rust that referenced this pull request Apr 5, 2019

Auto merge of #59681 - dtolnay:cargo, r=alexcrichton
Update cargo

20 commits in
63231f438a2b5b84ccf319a5de22343ee0316323..6f3e9c367abb497c64f360c3839dab5e74928d5c
2019-03-27 12:26:45 +0000 to 2019-04-04 14:11:33 +0000
- Fix Init for Fossil SCM project (rust-lang/cargo#6792)
- Fix member_manifest_version_error accessing the network (rust-lang/cargo#6799)
- Don't include email if it is empty (rust-lang/cargo#6802)
- Fix unused import warning (rust-lang/cargo#6807)
- Add some help and documentation for unstable flags (rust-lang/cargo#6791)
- Allow `cargo doc --open` with multiple packages (rust-lang/cargo#6803)
- Allow `cargo install --path P` to load config from P (rust-lang/cargo#6804)
- Add more suggestions on how to deal with excluding a package from a workspace (rust-lang/cargo#6805)
- Warn on version req with metadata (rust-lang/cargo#6806)
- cargo install: Be more restrictive about cli flags (rust-lang/cargo#6801)
- Support force-pushed repos with git-fetch-with-cli (rust-lang/cargo#6800)
- Cargo clippy (rust-lang/cargo#6759)
- Don't include metadata in wasm binary examples (rust-lang/cargo#6812)
- Update glossary for `feature` (rust-lang/cargo#6809)
- Include proc-macros in `build-override` (rust-lang/cargo#6811)
- Resolver: A dep is equivalent to one of the things it can resolve to (rust-lang/cargo#6776)
- Add some docs for `Downloads` (rust-lang/cargo#6815)
- Resolve: Be less strict while offline (rust-lang/cargo#6814)
- Accept trailing comma in test of impl Debug for PackageId (rust-lang/cargo#6818)
- Fix doc link (rust-lang/cargo#6820)

<br>

I specifically care about "Accept trailing comma in test of impl Debug for PackageId (rust-lang/cargo#6818)" to unblock #59076.

Mentioning @ehuss.
@@ -620,7 +620,7 @@ Caused by:
.run();

for cmd in &[
"init", "install", "login", "owner", "publish", "search", "yank",
"init", "install foo", "login", "owner", "publish", "search", "yank",

This comment has been minimized.

Copy link
@tamird

tamird Apr 5, 2019

Contributor

was this intended?

This comment has been minimized.

Copy link
@ehuss

ehuss Apr 5, 2019

Author Contributor

Yes, I should have left a comment. install --registry now requires a package name (foo) and that validation is done before the --registry name validation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.