diff options
| author | Danilo M. <danix@danix.xyz> | 2026-07-07 20:35:52 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-07-07 20:35:52 +0200 |
| commit | 006043e71cf6ee40b69da2e129a095ff4661dfb5 (patch) | |
| tree | 40d5733ea9622b2099952db4e42065aa4a478ff2 /TODO.md | |
| parent | 870b97b0ace6792b18a710e85f78bf7731efa326 (diff) | |
| download | mkhintfile-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>
Diffstat (limited to 'TODO.md')
| -rw-r--r-- | TODO.md | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -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 |
