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

Implement rustup CLI #136

Merged
merged 3 commits into from Mar 21, 2016
Merged

Implement rustup CLI #136

merged 3 commits into from Mar 21, 2016

Conversation

brson
Copy link
Contributor

@brson brson commented Mar 20, 2016

This adds the rustup command as described in #129.

Major changes:

  • A bare rustup updates all tracked channels and self-updates.
  • All the --copy-local, --link local and --installer options
    are gone. There is just rustup channel link, which covers the
    most common reason for creating custom toolchains.
  • add-target, list-targets, and remove-targets are all under
    the target subcommand, and all operate on the current toolchain
    instead of needing to specify it explicitly.
  • Override comands are all under the override subcommand.
  • Lesser commands for modifying toolchains are under the toolchain
    subcommand, but I decided multirust update and multirust update nightly were useful enough to stay its own subcommand.
  • The UI for updating all channels is changed from multirust-rs
    slightly: both the update status and channel revision are displayed
    in the same place.
  • I've removed green from 'info' logging and used it only for
    successful updates to make it more impactful.

Note there are several ways to update now: rustup updates
everything, rustup update updates the current toolchain, and rustup update [toolchain] updates a specific toolchain.

--help text is still missing.

Next steps are:

  • get this live and get some internal feedback
  • change multirust-setup to rustup-setup
  • add deprecation warnings to multirust
  • move metadata dir to ~/.rustup
  • rewrite readme and rustup.rs
  • set up rustup.rs, win.rustup.rs and sh.rustup.rs

This adds the `rustup` command as described in rust-lang#129.

Major changes:

* A bare `rustup` updates all tracked channels and self-updates.
* All the `--copy-local`, `--link local` and `--installer` options
  are gone. There is just `rustup channel link`, which covers the
  most common reason for creating custom toolchains.
* `add-target`, `list-targets`, and `remove-targets` are all under
  the `target` subcommand, and all operate on the current toolchain
  instead of needing to specify it explicitly.
* Override comands are all under the `override` subcommand.
* Lesser commands for modifying toolchains are under the `toolchain`
  subcommand, but I decided `multirust update` and `multirust update
  nightly` were useful enough to stay its own subcommand.
* The UI for updating all channels is changed from `multirust-rs`
  slightly: both the update status and channel revision are displayed
  in the same place.
* I've removed green from 'info' logging and used it only for
  successful updates to make it more impactful.

Note there are several ways to update now: `rustup` updates
everything, `rustup update` updates the current toolchain, and `rustup
update [toolchain]` updates a specific toolchain.
@alexcrichton
Copy link
Member

Oh man I'm excited!

Can you remind me what the self update workflow looks like? If this is merged and published, and then I multirust self update, will I get rustup as a command as well linked into place?

@brson
Copy link
Contributor Author

brson commented Mar 21, 2016

@alexcrichton Yes, when this lands then after the next self update everybody will have a rustup command.

@alexcrichton
Copy link
Member

🍍

r=me

brson added a commit that referenced this pull request Mar 21, 2016
@brson brson merged commit 11505ef into rust-lang:master Mar 21, 2016
@brson
Copy link
Contributor Author

brson commented Mar 21, 2016

There's a lot more to do here and parts of the CLI are going to change, but I'm merging this to get the forward progress.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants