From 006043e71cf6ee40b69da2e129a095ff4661dfb5 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 7 Jul 2026 20:35:52 +0200 Subject: docs: TODO v1.2.1 bug — reconcile change-detection must be version-aware MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Real neovim 0.12.4 run flagged all 13 deps as changed because the manifest serves bare-tag archive URLs while the hint uses the SBo-fetched URL shape; same version, different path. Raw-URL-equality detection is wrong; compare upstream version/pin instead. Co-Authored-By: Claude Opus 4.8 --- TODO.md | 2 ++ 1 file changed, 2 insertions(+) (limited to 'TODO.md') diff --git a/TODO.md b/TODO.md index c596dfb..1e75bb1 100644 --- a/TODO.md +++ b/TODO.md @@ -1,5 +1,7 @@ ## Post-1.2.0 (bundled-dep feature followups) + - [ ] **v1.2.1 (bug): reconcile change-detection must be version-aware, not raw-URL-equality.** `reconcile_bundle_deps` currently flags a dep as "changed" whenever the manifest URL string differs from the hint URL string, even when the upstream VERSION/pin is identical. On the real neovim 0.12.4 hint this fired on all 13 deps: the manifest serves bare-tag archive URLs (e.g. `.../archive/refs/tags/v0.26.7.tar.gz`) while the hint uses the SBo-fetched shape (`.../archive/v0.26.7/tree-sitter-0.26.7.tar.gz`) — same content, same version, different path. Answering `Y` would needlessly rewrite every URL to the manifest shape (which the SlackBuild may not expect), re-download 12 tarballs, and produce a huge spurious diff with zero real version change. Fix: detect "changed" by comparing the matched dep's upstream version/sha (parsed from the manifest URL + its `NAME_SHA256` line) against the hint's current version/pin, NOT by URL-string inequality. Only rewrite a line when the pin actually moved. Add a regression test whose manifest URL shape differs from the hint at the same version and assert NO change is reported. + - [ ] related to the above: the change-report labels (`_dep_label`/basename) render badly for bare-tag manifest URLs — showed `v0.26.7.tar.gz` / `fbb36bb...tar.gz` (dropped the name prefix) because manifest basenames carry no name stem. Once change-detection is version-aware, report `name old-ver -> new-ver` from the parsed identity+version rather than URL basenames. - [ ] add a `--special` flag to add a package to the bundled list, asking for a link to it's upstream deps list file - [ ] consider splitting `mkhint` into multiple files for easier maintenance - [ ] add a noDL column to `--list` similar to what we do with DelReq -- cgit v1.2.3