Skip to content

More consistent version naming #1416

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

Closed
mcandre opened this issue May 23, 2018 · 1 comment
Closed

More consistent version naming #1416

mcandre opened this issue May 23, 2018 · 1 comment

Comments

@mcandre
Copy link

mcandre commented May 23, 2018

rust, rustup, and the download URLs all have a lot of different ways of referring to rust version numbers. rust v1.27.0-nightly was once a thing, installable via rustup install nightly, but since rust v1.28.0-nightly released, now 1.27.0 has rotated from nightly to beta, breaking packages like clippy that expect rust v1.27.0-nightly to be named specifically 1.27.0-nightly, rather than 1.27.0-beta, even though the content is the same.

rustup gets confused and cannot do rustup update 1.27.0-nightly, nor rustup update nightly-1.27.0, nor rustup update 1.27.0-beta nor rustup update beta-1.27.0, but simply beta, until rust v1.29.0-nightly releases and then v1.28.0-nightly becomes the new v1.28.0-beta and v1.27.0-beta becomes 1.27.0, hopefully.

The only thing that seems to work for consistently pinning unstable rust version numbers for rustup is using the release date, so for 1.27.0[formerly -nightly], that would be rustup update nightly-2018-05-16. This is probably not what most users would expect to have to type, manually looking up the date information in Internet logs and performing the mapping themselves. This is something that rustup could do a great job at, for a more automated, flexible command line interface. What do you think?

Update

In fact, even using dates are insufficient due to an apparent bug in rustup activating the date strings, see #1417

@Diggsey
Copy link
Contributor

Diggsey commented May 27, 2018

I'm not sure where you're getting these version numbers from? The identifiers supported by rustup (and before that, multirust) have always been the same:

channel = nightly | beta | stable
date = yyyy-mm-dd
stable-version = x.y.z

<channel>
<channel>-<date>
<stable-version>

When an identifier consists of solely a channel, like nightly, it will track the latest version of that channel.

When an identifier includes a date or a stable version number, then it will be locked to that date/version.

You can always refer to any toolchain by date, including the latest one.

eg.
rustup toolchain install stable-2018-05-10

@Diggsey Diggsey closed this as completed May 27, 2018
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

No branches or pull requests

2 participants