| Age | Commit message (Collapse) | Author | Files | Lines |
|
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Expand nvchecker source autodetection in add_nvchecker_section (the single
global emitter used by --new and --check populate) to cover gitlab, bitbucket,
gitea.com, codeberg, pagure, npm, gems, cratesio, cpan, hackage, packagist,
cran, in addition to the existing github/pypi. Also spec the -n stanza echo
and the --info/-i README viewer. Marks the v1.2.4 continuation-suppression
TODO done.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
On a primary version bump of a manifest-listed package, mkhint used to
prompt interactively for each extra DOWNLOAD (continuation) URL, then
Phase 2 (reconcile_bundle_deps) rewrote those same lines from the
upstream manifest — a pointless double-touch (13 prompts for neovim).
update_hint_file now detects a listed package and threads a skip_cont
flag through update_checksums -> _process_download_var, which leaves the
continuation URLs for the manifest reconcile and prints a short notice
instead of prompting. Non-listed packages prompt exactly as before.
Also fixes a set -e abort: the manifest-lookup guard was written as
`pkg_has_manifest ... && _skip_cont=1`, whose false result (non-listed
package) killed the run right after the backup. Rewritten as an if. This
would have broken every non-listed --hintfile -V update. Verified live on
a non-listed multiline package (exploitdb).
Tests: T-BM18 now asserts the listed-pkg suppression, T-BM25 guards
against over-suppression (non-listed still prompts); the read -p prompt
is invisible under piped stdin, so both assert on the always-echoed
"line N (current)" header. 184 passed.
Also defers the multi-file split TODO with a rationale and revisit
triggers (extract only the bundled-dep block when the time comes).
Bump MKHINT_VERSION and man title to 1.2.4, rebuild mkhint.1.gz.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
1.2.1 made the bundled-dep reconcile version-aware but _url_version
mis-parsed several real-world URL shapes, so 1.2.1 was never correct in
the field (found by running mkhint -C --force neovim against the live
0.12.4 hint).
_url_version now derives the version by stripping the URL's own github
repo name from the basename:
- dep names containing digits/dashes (lua-compat-5.3) parse correctly
instead of splitting the name as a version
- a bare-tag basename with no name prefix is taken as the whole version,
fixing package-rev suffixes (luv 1.52.1-0 was truncated to 0)
- non-github and the shared neovim/deps blob host fall back to the
trailing-version/sha heuristic
_url_repo is lowercased so JuliaStrings/utf8proc matches
juliastrings/utf8proc (github repos are case-insensitive); utf8proc had
reported no-match and appeared in the manifest-only FYI.
Verified against all 13 live neovim 0.12.4 bundled deps: all match and
report current, no false change, a real bump still detected. Adds
T-BM22 (one case per URL-shape class) and T-BM23 (case-insensitive
repo match); T-BM17 unchanged. 182 passed.
Bump MKHINT_VERSION and man title to 1.2.2, rebuild mkhint.1.gz.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
reconcile_bundle_deps flagged a dep as changed on raw URL-string
inequality. Manifests serve bare-tag archive URLs
(.../archive/v0.26.7.tar.gz) while hints use the SBo-fetched tree shape
(.../archive/v0.26.7/tree-sitter-0.26.7.tar.gz) — same version, different
path — so every dep was reported changed at a version that had not moved.
Add _url_version to parse and normalize the version from a URL basename,
and detect change by version rather than URL string. Only rewrite a line
when the version actually differs. Change report now shows
"name old-ver -> new-ver". Regression test T-BM17 pins the same-version,
different-shape case as no change (180 passed).
Bump MKHINT_VERSION and man title to 1.2.1, rebuild mkhint.1.gz.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
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>
|
|
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|