nabijaczleweli / cargo-update

A cargo subcommand for checking and applying updates to installed executables
MIT License
1.22k stars 42 forks source link

Respect partial binary installs when updating #156

Closed cyqsimon closed 3 years ago

cyqsimon commented 3 years ago

I have the https package installed on my system, which installs two executables by default - http and httplz. In fact they are completely identical, and http is only there because people complained that the name is too generic so they changed it to httplz but kept http for backwards compatibility.

Anyhow, I install this package via cargo install https --bin httplz to select only one binary. However when I run cargo install-update -a, the old binary selection is not respected. Instead, I get both binaries instead. So I have to manually run cargo uninstall https --bin http every single time.

It's only a minor annoyance for me but for someone else who might only want to use a few binaries out of a very big crate, this could become unacceptable.

Therefore my request is that cargo-update should first fetch the list of installed binaries (via something like cargo install --list) and only update those. Or better, provide a flag to set this behaviour.

nabijaczleweli commented 3 years ago

I am fully aware of the binaries provided by http and why they are so, considering I wrote it lol

Can you try the current master branch (at least 2e76d1dc86f3266a372aefcdaea63dc5be49dbcb)? Running cargo install-update-config --respect-binaries https should limit the binaries to the ones already installed on updates.

cyqsimon commented 3 years ago

Oh lmao. Didn't realise you are in charge here as well. Will try it after work.

cyqsimon commented 3 years ago

Apologies for the delay. Just got the time to test the feature. Working as intended.

nabijaczleweli commented 3 years ago

Pog. Released in v7.0.0