cargo-update: `cargo install-update -a` misses updates, panics for git packages

$ cargo install-update -a

    Updating registry 'https://github.com/rust-lang/crates.io-index'

Package       Installed  Latest   Needs update
bandwhich     v0.20.0    v0.20.0  No
battop        v0.2.4     v0.2.4   No
bingrep       v0.10.1    v0.10.1  No
bottom        v0.7.0     v0.7.0   No
cargo-update  v11.1.1    v11.1.1  No
code-minimap  v0.6.4     v0.6.4   No
conclusive    v1.0.0     v1.0.0   No
csview        v1.2.2     v1.2.2   No
deno          v1.29.1    v1.29.1  No
dijo          v0.2.7     v0.2.7   No
du-dust       v0.8.3     v0.8.3   No
eva           v0.3.1     v0.3.1   No
gfold         v4.2.0     v4.2.0   No
git-cliff     v1.0.0     v1.0.0   No
git-delta     v0.15.1    v0.15.1  No
git-journal   v1.8.1     v1.8.1   No
gitui         v0.22.1    v0.22.1  No
gpg-tui       v0.9.2     v0.9.2   No
gping         v1.6.3     v1.6.3   No
hexyl         v0.12.0    v0.12.0  No
htmlq         v0.4.0     v0.4.0   No
hyperfine     v1.15.0    v1.15.0  No
imager        v0.3.2     v0.3.2   No
jless         v0.8.0     v0.8.0   No
jwt-cli       v5.0.3     v5.0.3   No
kmon          v1.6.2     v1.6.2   No
lemmeknow     v0.7.0     v0.7.0   No
mdcat         v0.30.3    v0.30.3  No
oxipng        v8.0.0     v8.0.0   No
pastel        v0.9.0     v0.9.0   No
pipe-rename   v1.6.1     v1.6.1   No
procs         v0.13.3    v0.13.3  No
rates         v0.7.0     v0.7.0   No
rustscan      v2.1.1     v2.1.1   No
shellcaster   v2.0.1     v2.0.1   No
silicon       v0.5.1     v0.5.1   No
so            v0.4.9     v0.4.9   No
starship      v1.12.0    v1.12.0  No
tealdeer      v1.6.1     v1.6.1   No
tickrs        v0.14.6    v0.14.6  No
tre-command   v0.4.0     v0.4.0   No
viu           v1.4.0     v1.4.0   No
vocage        v1.1.0     v1.1.0   No
websocat      v1.11.0    v1.11.0  No
xplr          v0.20.1    v0.20.1  No
zoxide        v0.8.3     v0.8.3   No

No packages need updating.
Overall updated 0 packages.

Yet if I look for e.g. zoxide crates.io shows that version 0.9.0 has been available for 7 days already. Besides, there are a few packages that I have installed via git, so when I do cargo install-update -a -g I get the same list but with the following error at the end:

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { code: -9, klass: 4, message: "reference 'refs/heads/master' not found" }', /home/mrus/.cargo/registry/src/github.com-1ecc6299db9ec823/cargo-update-11.1.1/src/ops/mod.rs:482:149
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'No FETCH_HEAD in /tmp/cargo-update/radicle-cli: corrupted loose reference file: FETCH_HEAD; class=Reference (4)', /home/mrus/.cargo/registry/src/github.com-1ecc6299db9ec823/cargo-update-11.1.1/src/ops/mod.rs:584:42
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: cargo_update::ops::GitRepoPackage::pull_version_impl
   3: cargo_install_update::actual_main
   4: cargo_install_update::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread 'main' panicked at 'No FETCH_HEAD in /tmp/cargo-update/radicle-cli: corrupted loose reference file: FETCH_HEAD; class=Reference (4)', /home/mrus/.cargo/registry/src/github.com-1ecc6299db9ec823/cargo-update-11.1.1/src/ops/mod.rs:584:42
stack backtrace:
   0:     0x55d2b4d9c880 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h591808416c41e0db
   1:     0x55d2b4dc051e - core::fmt::write::h32120f18eb099fb0
   2:     0x55d2b4d98c25 - std::io::Write::write_fmt::h5120f968441dcf61
   3:     0x55d2b4d9df13 - std::panicking::default_hook::{{closure}}::ha3b399c84dfd3950
   4:     0x55d2b4d9dbff - std::panicking::default_hook::h23c1de61997507b7
   5:     0x55d2b4d9e5ba - std::panicking::rust_panic_with_hook::hf54f54e71167af35
   6:     0x55d2b4d9e4b7 - std::panicking::begin_panic_handler::{{closure}}::h507de2259e8e1ea3
   7:     0x55d2b4d9cd2c - std::sys_common::backtrace::__rust_end_short_backtrace::h9db799e5e5917087
   8:     0x55d2b4d9e1d2 - rust_begin_unwind
   9:     0x55d2b4c10703 - core::panicking::panic_fmt::h597fac4e15471a4b
  10:     0x55d2b4c4e9f8 - cargo_update::ops::GitRepoPackage::pull_version_impl::h8f15007b78f0549d
  11:     0x55d2b4c1ecf9 - cargo_install_update::actual_main::hdc22a669e33070c1
  12:     0x55d2b4c1cf36 - cargo_install_update::main::h06ed9afcc4f8a954
  13:     0x55d2b4c15c63 - std::sys_common::backtrace::__rust_begin_short_backtrace::h89ba37790e050604
  14:     0x55d2b4c18499 - std::rt::lang_start::{{closure}}::hd109562f5ede5fdd
  15:     0x55d2b4d9389f - std::rt::lang_start_internal::h0b960bfca6f21183
  16:     0x55d2b4c20b18 - main
  17:     0x7fc6bbe2d34a - <unknown>
  18:     0x7fc6bbe2d3fc - __libc_start_main
  19:     0x55d2b4c109e1 - _start
  20:                0x0 - <unknown>

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 18 (8 by maintainers)

Most upvoted comments

Great; closing as fixed in 11.1.2, then.

On that Pi I had to delete it, since even sudo apt update would run into an error due to not having enough space left. And I noticed, that the versions were actually updatable, because of this situation.

But since I am running topgrade on multiple machines, I have a laptop, that still shows pretty much the same issue:

    Updating registry 'https://github.com/rust-lang/crates.io-index'

Package       Installed  Latest   Needs update
bottom        v0.6.8     v0.6.8   No
cargo-update  v11.1.1    v11.1.1  No
topgrade      v10.2.4    v10.2.4  No

No packages need updating.
Package  Installed  Latest  Needs update

No git packages need updating.
Overall updated 0 packages.

If it happens again, cp -pr ~/.cargo/registry/index/github.com-1ecc6299db9ec823{,.orig} and re-try (cargo install whatever, &c.) – I don’t really have a good way of coming up with a reason besides to just see how the checkout state differs (default branch targeting, HEAD or FETCH_HEAD being weird, somehow interacting with the epoch, &c.), soz.