I've been doing that for years. Rollbacks are very rare, to the point that it doesn't make much of a difference whether I do them all at once or not, other than spending more time to do it.
If I wasn't using containers for everything, sure. Otherwise it's a bit of an excessive concern.
that's a lot of FUD, topgrade just upgrades using all package managers you have, it doesn't do the upgrades itself bypassing the manager that installed it, or package authors.
That may work for a handful of projects. It'd be my full time job if I did it for everything I run. Also, I might simply suggest maintainers to adopt dependabot or an alternative before I spend time with manual changes. These things should be automated.
I'm lazy, so I prefer to not remember what half a dozen cryptic flags stand for.
I just find disappointing that there's no long form to these options and they don't make much mnemonic sense either. Feels like the authors just picked the first letter available they came across with zero regard to readability or usability.
But seriously, I don't have much Rust proficiency and I still pick software in Rust because 1. installing and updating rust itself and things installed with it is a bliss; and 2. the CLI experience of Rust programs tends to be much better than alternatives.
Contrasting that with installing something with Go, which is a common alternative for things written in Rust:
First, I need Go. So if I chose to install it via another package manager - perhaps with the exception of pacman - I may end up with an out of date version that may cause issues when compiling newer code. I had this happen a few times.
If I chose to build it myself, first I need an older version of Go to compile a newer Go. Very fun.
If I chose to install it via their website, it's a manual .tar.gz download and extraction of an executable that doesn't self-update, so next time I not only have to repeat this, but I need to remember it.
Then there's the gvm project, which promises to resolve some of this friction, and it was my method of choice, but I'm not sure it's maintained anymore and I always have to look up their commands because of things like: gvm list works, but to list versions for download it's gvm listall instead of gvm list --all)
Now for Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs/ | sh
optional cargo install cargo-update to update everything else with cargo install-update -a
We do it like that too. Most meetings are not useful at all (no blockers), but at least we don't waste more than 15-20 minutes