We're looking at closing off a couple of major papercuts in the 1.20.0 release
of rustup
. This is the second in an as-yet unknown number of requests for
people to please try something out and let us know what they think before
we release it and thus have potentially sub-optimal UX which people automate
around and therefore we end up having to support.
This afternoon we merged a patch which specialises the behaviour of rustup update
when applied to the nightly
channel. This patch makes it so that
rustup update
will search backwards in time, starting at the current
nightly
and going back in time until it either encounters a date on which all
the components you have installed are available, or it encounters the version
you currently have installed.
This is a feature which several people have asked for over time, and we want to ensure that it feels right.
At this point, we really need your help to try this out. Currently we're going to ship this feature in version 1.20.0 and we'll do that just as soon as we're confident it has no hidden gotchas (assuming nothing else unusual is only just merged to master).
If you're interested in giving this a go, then you will have to compile
rustup
for yourself unless you use Windows in which case it is possible to
find artifacts via our CI on Appveyor. If you're wanting to test rustup
for yourself then I recommend acquiring the git repository and then installing
it as follows:
$ git clone https://github.com/rust-lang/rustup.rs
$ cd rustup.rs
$ cargo +stable run --features vendored-openssl -- --no-modify-path -y
If you use Windows, drop the --features vendored-openssl
as that's a UNIXy
thing only really.
Once that completes, your rustup
installation should be updated, and you
can check that with rustup --version
which will report something like:
rustup 1.19.0+14 (bca2352e9 2019-09-17)
.
At this point, the only thing you can try is to rustup update nightly
assuming you already have that channel installed. If not, then the best thing
you can do is to install nightly now, perhaps add some components which
sometimes are not available such as clippy
or rustfmt
(I don't know if
they're currently available anyway), and then each day for the next week, try
and update the channel.
You'll see messages like:
info: skipping nightly which is missing installed component 'rls-preview'
If the feature is working as intended, as it walks backwards you will see these messages and a decrementing date until it finds a suitable nightly at which point it will install your update. For example, when I tried it, it finally managed to find a nightly to update me to which was dated the 12th of this month.
If you encounter any issues / UX bogons, please file issues on github so that we can consider if we need to fix them before 1.20.0 comes out.
Thank you for any help you can provide at this time. If you want to revert your rustup installation once you're done trying out this, just rerun the installation instructions from https://rustup.rs/ and you'll be golden.
While I will try and look at this thread, the best way to get your feedback noticed is to file good/useful issues as previously discussed, on our github.