aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-07-07 20:35:52 +0200
committerDanilo M. <danix@danix.xyz>2026-07-07 20:35:52 +0200
commit006043e71cf6ee40b69da2e129a095ff4661dfb5 (patch)
tree40d5733ea9622b2099952db4e42065aa4a478ff2
parent870b97b0ace6792b18a710e85f78bf7731efa326 (diff)
downloadmkhintfile-006043e71cf6ee40b69da2e129a095ff4661dfb5.tar.gz
mkhintfile-006043e71cf6ee40b69da2e129a095ff4661dfb5.zip
docs: TODO v1.2.1 bug — reconcile change-detection must be version-aware
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 <noreply@anthropic.com>
-rw-r--r--TODO.md2
1 files changed, 2 insertions, 0 deletions
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