aboutsummaryrefslogtreecommitdiffstats
path: root/mkhint.1.gz
AgeCommit message (Collapse)AuthorFilesLines
32 hoursfeat: --info version-compare row; fix -i completion; release v1.2.6v1.2.6Danilo M.1-0/+0
--info/-i now prints a version-compare row between the header and the README: SBo .info version vs the hint's, greening the higher side (< / >), yellow on equal (=), '(no hint)' when no hint carries a version, skipped when the .info has no version. Header stays pinned, version row scrolls with the README. Completion: -i now completes package names (was flag-only); package-name completion for -n/-i drops the broken -maxdepth 2 .info scan for a param-expansion sweep of REPO_DIR/*/*/ dirs, ~7s -> ~60ms. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
38 hoursfeat: nvchecker autodetect expansion, -n stanza echo, --info/-i; release v1.2.5Danilo M.1-0/+0
Documents the Task 1-6 additions that shipped without doc updates: expanded nvchecker source autodetection (gitlab, bitbucket, gitea, codeberg, pagure, npm, gems, crates.io, cpan, hackage, packagist, cran, in addition to github and pypi), the fenced stanza echo on --new/-n, and the --info/-i command (category/program header plus paged README). Updates show_help, bash completion, mkhint.1.md (rebuilds mkhint.1.gz), CLAUDE.md, and CHANGELOG.md. Bumps MKHINT_VERSION to 1.2.5. No program logic changed; 224/224 tests still pass.
3 daysfeat: suppress continuation-URL prompt for manifest-listed pkgs; release v1.2.4v1.2.4Danilo M.1-0/+0
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>
3 daysfix: skip bundled-dep apply prompt when nothing changed; release v1.2.3v1.2.3Danilo M.1-0/+0
After the version-aware reconcile, a --force run on an up-to-date bundle package still asked "Apply bundled-dep updates?" with nothing to apply. reconcile_bundle_deps report mode now signals whether there is anything to apply via its exit code: 2 = changes present, 0 = all current / no deps / fetch fail. The --check and --hintfile -V callers prompt only on exit 2. apply mode still returns 0. Adds T-BM24 (all-current → no prompt); 183 passed. Bump MKHINT_VERSION and man title to 1.2.3, rebuild mkhint.1.gz. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysfix: complete version-aware reconcile against real URL shapes; release v1.2.2v1.2.2Danilo M.1-0/+0
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>
3 daysfix: version-aware bundled-dep reconcile; release v1.2.1v1.2.1Danilo M.1-0/+0
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>
3 daysdocs: document bundled-dep reconcile + --force; release v1.2.0Danilo M.1-0/+0
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4 daysfix: bump dash-form dated URLs on version changev1.1.3Danilo M.1-0/+0
--hintfile -V and --new -V only substituted the packaged underscore form of the old version, so download URLs using the upstream dash form (dates like 2026-07-07, tags) kept pointing at the old tarball and their md5 went stale. Now both the underscore and dash variants of old->new are rewritten. exploitdb was the trigger case. Tests T74 (--hintfile) and T75 (--new) cover the dashed-URL bump. Release v1.1.3. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 dayschore: release v1.1.2v1.1.2Danilo M.1-0/+0
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 dayschore: release v1.1.1v1.1.1Danilo M.1-0/+0
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 daysdocs: build gzipped mkhint.1 man pageDanilo M.1-0/+0
Escape double-dashes in option names and drop the markdown link so pandoc's man output renders --flags and text correctly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>