nabijaczleweli / cargo-update

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

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

Closed mrusme closed 1 year ago

mrusme commented 1 year ago
$ 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>
mrusme commented 1 year ago

After running cargo install --force --locked --git https://seed.alt-clients.radicle.xyz/radicle-cli.git radicle-cli and then re-running cargo install-update -a -g it seems to work though:

Package       Installed  Latest   Needs update
bottom        v0.7.0     v0.7.1   Yes
deno          v1.29.1    v1.29.3  Yes
git-cliff     v1.0.0     v1.1.1   Yes
gpg-tui       v0.9.2     v0.9.3   Yes
gping         v1.6.3     v1.7.0   Yes
mdcat         v0.30.3    v1.0.0   Yes
xplr          v0.20.1    v0.20.2  Yes
zoxide        v0.8.3     v0.9.0   Yes
bandwhich     v0.20.0    v0.20.0  No
battop        v0.2.4     v0.2.4   No
bingrep       v0.10.1    v0.10.1  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
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-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
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
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
mrusme commented 1 year ago

The update unfortunately still failed to proceed updating git packages:

Updated 7 packages.
Failed to update deno.

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:     0x563d44413880 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h591808416c41e0db
   1:     0x563d4443751e - core::fmt::write::h32120f18eb099fb0
   2:     0x563d4440fc25 - std::io::Write::write_fmt::h5120f968441dcf61
   3:     0x563d44414f13 - std::panicking::default_hook::{{closure}}::ha3b399c84dfd3950
   4:     0x563d44414bff - std::panicking::default_hook::h23c1de61997507b7
   5:     0x563d444155ba - std::panicking::rust_panic_with_hook::hf54f54e71167af35
   6:     0x563d444154b7 - std::panicking::begin_panic_handler::{{closure}}::h507de2259e8e1ea3
   7:     0x563d44413d2c - std::sys_common::backtrace::__rust_end_short_backtrace::h9db799e5e5917087
   8:     0x563d444151d2 - rust_begin_unwind
   9:     0x563d44287703 - core::panicking::panic_fmt::h597fac4e15471a4b
  10:     0x563d442c59f8 - cargo_update::ops::GitRepoPackage::pull_version_impl::h8f15007b78f0549d
  11:     0x563d44295cf9 - cargo_install_update::actual_main::hdc22a669e33070c1
  12:     0x563d44293f36 - cargo_install_update::main::h06ed9afcc4f8a954
  13:     0x563d4428cc63 - std::sys_common::backtrace::__rust_begin_short_backtrace::h89ba37790e050604
  14:     0x563d4428f499 - std::rt::lang_start::{{closure}}::hd109562f5ede5fdd
  15:     0x563d4440a89f - std::rt::lang_start_internal::h0b960bfca6f21183
  16:     0x563d44297b18 - main
  17:     0x7f2157ce934a - <unknown>
  18:     0x7f2157ce93fc - __libc_start_main
  19:     0x563d442879e1 - _start
  20:                0x0 - <unknown>
nabijaczleweli commented 1 year ago

Amazed the install works at all given that the upstream repository is broken:

$ git clone https://seed.alt-clients.radicle.xyz/radicle-cli.git
Cloning into 'radicle-cli'...
warning: remote HEAD refers to nonexistent ref, unable to checkout.

$ git ls-remote https://seed.alt-clients.radicle.xyz/radicle-cli.git
3748a7fbfcfe89b17f522635dd40854c1c69fe6f        refs/rad/id
76800334f44e9d0e66f1f69a5b6945d57de3728c        refs/rad/ids/hnrkqdpm9ub19oc8dccx44echy76hzfsezyio
349c1c870567846a689c1d824ba915af62c34516        refs/rad/signed_refs
e7d4ac33439593def6b4225fe2fb090de32cdb5b        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/adaszko/apt-repo
ea23fa259b6fa400e09677e08fd02101f43f7e7a        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/adaszko/build-all-man-pages
ed974731ac6315bd53edb70a065ff0db93c5eb3c        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/adaszko/deb-package-github-action
77758a10f68fcc6299330c7323462755d1bf816f        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/adaszko/homebrew-formula
4f9c60f9ca4c023544b2625d3adb4cc40276d23a        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/adaszko/master
bb50701426773e23ec3a7a16e0d7e41435418e1e        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/adaszko/package-man-page
bed5d7ef840ba33e370b94d9485b432378122d41        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/adaszko/release-github-action
607ec9e3edb7b987a95c2bfe41a1b871f16a8f53        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/adaszko/release-github-action-fixes
5059158723e4efcd68cb8da7b7e52114ed11e7e1        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/adaszko/single-deb-package
ecd45233b8fcee2203dd345f46cff13820609a31        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/anchor-safe
45ea57d0ac7f21166ed8344568db584232987317        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/ci
c9a47cc9d0f403d122a07bafa5739933dcfe1c6b        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/clone-refactor
7be693318e713567ee4ba2b36735a25a96bf94bb        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/crate
f89fbc35e2155936e455ea849a23997b4e821ad2        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/improved-push
37bd7c7dae51aa0bf6cec8687e5d10822ce0a784        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/patch-reviews
1ba0d464b9831eaaa9356cd90a0b8e769bdea868        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/rad-track
6e5b44928b361a3a7163a481584b2df2eee0c1c0        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/remote-helper
f5094c374db0a2e3876d4eb7c7260572466defb3        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/remote-helper-project-id-support
605740000cf0095cb5d68f832f3f3c45b303747c        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/rename
c18768ebd31eb13861c2b109086e2f76b7879968        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/replication-v3
f74f19239d0a424974ad2e3242854bc6cee894ba        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/test-branch
3eb6e5e6c62811264b31037c4a0474c4fb8469a5        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/update-man
0856c5f11d642b507c4c977ed0292e9d3263d7cb        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/ux
5ffda9a47b52de5ddc63770f6e52a444cc7f622f        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/cloudhead/verify-signed-refs
1e263d87aca2a5581eea581f0d7d2c35c478cd9b        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/dave/add-rad-show-urn
14e8c80df2f6fc4cec26729895ec275518e53b88        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/feature/auth
03d61edc722471e5a73a6fc0bc0ea6e97fd50a4c        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/feature/init
ddfce4592c44abe1afa5f678d3874fb915df171b        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/feature/publish
59feb7d8bfd913fd2389a689f64f834c5b71ccd7        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/feature/rad-acl
04aa53a1711ff9deaf9e9da5e896bc9b7d1b3995        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/master
4b1ffa07f60518be25ce8d9ec984a0dc2aafa824        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/safe-transaction-client
2a43fad03b375193357dcdb9b1766cc7c4d4a7d4        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/sebastinez/proof-creation
92c28b794c67141f131c93537de02f74ef46a5b1        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/heads/update-radicle-link
3748a7fbfcfe89b17f522635dd40854c1c69fe6f        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/rad/id
76800334f44e9d0e66f1f69a5b6945d57de3728c        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/rad/ids/hnrkqdpm9ub19oc8dccx44echy76hzfsezyio
76800334f44e9d0e66f1f69a5b6945d57de3728c        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/rad/self
a835f61e7bfba35bbc26c44eebdda6d6e6f99f29        refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/rad/signed_refs
3748a7fbfcfe89b17f522635dd40854c1c69fe6f        refs/remotes/hyyu47aazqa8dncghbefj9wesgt6wocph7fg4rwsyafw41d77eo7ik/rad/id
76800334f44e9d0e66f1f69a5b6945d57de3728c        refs/remotes/hyyu47aazqa8dncghbefj9wesgt6wocph7fg4rwsyafw41d77eo7ik/rad/ids/hnrkqdpm9ub19oc8dccx44echy76hzfsezyio
01fa7f653436e1cb731c84a49d433049b01eb2c1        refs/remotes/hyyu47aazqa8dncghbefj9wesgt6wocph7fg4rwsyafw41d77eo7ik/rad/signed_refs
$ git ls-remote https://seed.alt-clients.radicle.xyz/radicle-cli.git HEAD

Well, broken insofar as it doesn't have a HEAD, so it's unclear to me what you expect to happen without specifying an explicit ref? Well, hell, the install doesn't work, so?

$ cargo install --verbose --force --locked --git https://seed.alt-clients.radicle.xyz/radicle-cli.git radicle-cli
    Updating git repository `https://seed.alt-clients.radicle.xyz/radicle-cli.git`
error: reference 'refs/remotes/origin/HEAD' not found; class=Reference (4); code=NotFound (-3)

Point HEAD somewhere valid and try again, or require some ref to pull.

As for the zoxide bit, what entries do you have in ~/.cargo/registry/index/?

mrusme commented 1 year ago

Errr, wait...

cargo install --force --locked --git https://seed.alt-clients.radicle.xyz/radicle-cli.git radicle-cli               
    Updating git repository `https://seed.alt-clients.radicle.xyz/radicle-cli.git`
  Installing radicle-cli v0.5.1 (https://seed.alt-clients.radicle.xyz/radicle-cli.git#53d4c844)
    Updating crates.io index
warning: package `cpufeatures v0.2.1` in Cargo.lock is yanked in registry `crates-io`, consider running without --locked
   Compiling libc v0.2.118
   Compiling proc-macro2 v1.0.36
   ...

That's the way its documented here and it seems to work using cargo install, so I'm wondering what cargo install does differently.

As for ~/.cargo/registry/index/:

▲ ~ ls -R ~/.cargo/registry/index
drwxr-xr-x - mrus mrus 2021-06-26 17:13 github.com-1ecc6299db9ec823

/home/mrus/.cargo/registry/index/github.com-1ecc6299db9ec823:
mrusme commented 1 year ago

Alright, so I cargo uninstall radicle-cli and cargo install radicle-cli --force --locked --git https://github.com/radicle-dev/radicle-cli, which installed a newer version, meaning that whatever it is that cargo install did with the seeds repo, it was probably just working out of luck indeed.

Now the updates of other git installs also seems to work! So, to sum the git issue up, I guess one could say that cargo-update should not stop updating all git repos, only because one failed for whatever reason.

Considering that this was the case I'm wondering if maybe the index refresh didn't work for the same reason?

nabijaczleweli commented 1 year ago

That's unlikely, index refreshing is separate and the github upstream is well-behaved in this manner. Unsurprisingly, I can't really reproduce that either:

$ tail -1 .cargo/.crates.toml
"zoxide 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = ["zoxide"]
$ cargo install-update -la
    Updating registry 'https://github.com/rust-lang/crates.io-index'

Package        Installed  Latest                             Needs update
...
zoxide         v0.8.3     v0.9.0                             Yes
...

How's about if you mv ~/.cargo/registry/index/github.com-1ecc6299db9ec823{,.old} then re-try?

erikbrinkman commented 1 year ago

I can second the indexing issue. I tried:

$ cargo install-update -a
    Updating registry 'https://github.com/rust-lang/crates.io-index'

Package       Installed  Latest   Needs update
... all No

then tried to call cargo install ... to install something manually which called the native cargo index refresh, and afterwards cargo install-update did pick up on the new versions and installed them appropriately.

Happy to help debug, but I'm also not sure how to as the index is working again.

Version info:

$ cargo -V
cargo 1.66.1 (ad779e08b 2023-01-10)
$ cargo install-update -l
    Updating registry 'https://github.com/rust-lang/crates.io-index'

Package       Installed  Latest   Needs update
cargo-update  v11.1.1    v11.1.1  No
nabijaczleweli commented 1 year ago

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.

Auravendill commented 1 year ago

I want to add, that even with just very few installed programms, it fails to find the newest version.

cargo install-update -a
    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.2    v10.2.2  No

No packages need updating.
Overall updated 0 packages.

bottom is currently on v0.8.0 and topgrade on v10.3.1

But even cargo install-update -a -f will just reinstall the old versions shown above.

I noticed that after removing ~/.cargo/registry/index on a Pi, which grew to humongous size (and therefore caused issues on a 16GB SD card), that suddenly cargo-update was able to find everything just fine on that machine and the folder regenerated in a less bloated state. (200MB instead of 4GB). Something seems to be quite wrong with that folder, doesn't it?

nabijaczleweli commented 1 year ago

Did you save what it was before you removed it :v

Auravendill commented 1 year ago

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.
nabijaczleweli commented 1 year ago

Oh, lovely; please post tar of ~/.cargo/registry/index here and I'll see what I can divine.

Auravendill commented 1 year ago

Maybe I'm too dumb for tar, but tar didn't want to create the archive, so I simply used zip instead. But even with some compression it became 13GB large. Idk how I should upload it? A comment here can contain a 25MB file max btw.

Auravendill commented 1 year ago

.cargo/registry/index/github.com-1ecc6299db9ec823/.git/objects/pack/ would have over 14GB extracted. Everything else is rather small.

nabijaczleweli commented 1 year ago

Can you try the current master branch (at least 326a5b90a392198383a20f59d37e47a11202bae9)? That fixed a similar-smelling issue in #222.

nabijaczleweli commented 1 year ago

Or, indeed, v11.1.2?

Auravendill commented 1 year ago

I had to uninstall cargo-update and reinstall it again, since it also couldn't update itself, but now it can update all the other programs installed via cargo

nabijaczleweli commented 1 year ago

Great; closing as fixed in 11.1.2, then.