| Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
David Spencer (idlemoor) abandoned slackrepo; Andrew Clemons now
maintains it at github.com/aclemons/slackrepo. Update the CLAUDE.md
link and add a README credit line naming both.
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>
|
|
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
With package names, --list skips the table and shows each named
hint diffed against its .info (git diff --no-index, else diff -y),
missing hint exits 2. Diff display extracted to _show_hint_diff,
shared with --review. Bash completion completes hint names after
-l. Adds T58, T59.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
--list now skips hint files with no VERSION (e.g. pure DELREQUIRES
hints) and excludes them from the total. Version columns widened
10->22 to fit long version strings without shifting other rows.
Adds T57.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
SBo SlackBuilds target stable; some build deps (rust-opt, google-go-lang)
are unneeded on -current. Auto-add DELREQUIRES for these instead of writing
a hintfile per dependent by hand.
- Read the phantom-dep list from ~/.config/mkhint/phantom-deps (one per
line, # comments; missing file = no-op).
- --fix-current / -F: sweep the repo, ensure every package whose REQUIRES
contains a phantom dep carries the matching DELREQUIRES. Create a minimal
hint if absent, back up and merge into an existing hint otherwise.
Idempotent, no prompts, mutually exclusive with -v/-f/-n.
- --new: auto-append DELREQUIRES for phantom deps found in the .info.
- Tests T50-T56; docs and bash-completion updated.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
SlackBuild versions cannot contain '-' (it breaks PRGNAM parsing), so an
upstream date like 2026-06-02 is packaged as 2026_06_02. mkhint was
comparing them byte-for-byte and offering a spurious upgrade/downgrade.
Add _normalize_version ('-' -> '_') and apply it to the upstream version
in --check and --hintfile (no -v) before comparing and before storing, so
equivalent versions compare equal and accepted updates are written in the
underscore form. nvtake still uses nvchecker's raw keyfile value.
Tests T48/T49 cover equivalence and normalized storage (105 passing).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
When --check is given exactly one package, and when --hintfile suggests a
version without -v, run `nvchecker -e <pkg>` so only that entry is scanned
instead of the whole nvchecker.toml. Two+ packages or no args still do one
full scan, since nvchecker -e accepts only a single entry.
Add T42/T43 (mock nvchecker now logs its args), and update CLAUDE.md and
README.md (including the previously undocumented -R/--review and -l highlight).
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>
|
|
- Add Dependencies section covering wget, nvchecker/nvtake, and jq
- Document nvchecker config at ~/.config/nvchecker/nvchecker.toml
- Add usage examples for all three new features:
* --new appends nvchecker [section] auto-detecting source type
* --hintfile without -v queries nvchecker for latest version
* --check/-C runs comprehensive update checks across all hints
- Update Exit Code 4 description to list all required tools
- Add test coverage rows T16-T26 for nvchecker integration tests
- Add Key Behaviors bullets for nvchecker-specific features
- Update bash completion note to include --check/-C
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
- Add parse_multiline_var, prompt_continuation_urls, build_multiline_value,
_process_download_var; refactor update_checksums to handle multi-URL vars
- First URL always re-downloaded; continuation URLs prompt user, skip
re-download if unchanged
- Add tests/mkhint_test.sh: 44 cases covering all commands and edge cases
- Update README and CLAUDE.md: correct -N semantics, --new behavior,
multiline DOWNLOAD flow, test suite docs
|
|
Adds --no-dl/-N flag for use with --hintfile or --new. Skips wget,
inserts NODOWNLOAD=yes after MD5SUM_x86_64 in the hint file. Also
fixes README (correct paths, old command name, missing --delete/--clean
sections) and updates CLAUDE.md and bash completion accordingly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
- Rename script and completion file to mkhint/mkhint.bash-completion
- Add --delete/-d flag to remove one or more hint files (and .bak if present)
- Fix bash completion: correct hint_dir path, use find for nested .info files,
add --delete completion, add flag name completion
- Update all references in CLAUDE.md, README.md, and source files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|