aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
37 hoursdocs: spec for -l version-match highlight + -R review loopDanilo M.1-0/+147
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysMerge feat/nvchecker: nvchecker integrationDanilo M.7-11/+1335
- --new appends nvchecker [section] (github/pypi autodetect, else stub) - --hintfile without -v suggests latest version via nvchecker - --check/-C bulk update with per-package confirm + single slackrepo - --check populate missing sections prompt - fix: TOML-quote section names with non-bare-key chars - fix: resolve relative keyfile path against config dir Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysfix: resolve relative nvchecker keyfile path against config dirDanilo M.2-0/+31
nvchecker resolves a relative oldver/newver/keyfile path against the config file's directory, not the CWD. _nvchecker_newver_path returned the raw relative string (e.g. "new_ver.json"), so nvchecker_latest's [[ -f ]] check ran against whatever CWD 'mkhint -C' was launched from — almost never the config dir. Result: every package reported 'no nvchecker result' and the run said 'all up to date' despite nvchecker having found updates. Resolve non-absolute keyfile paths against dirname(NVCHECKER_CONFIG). T35 covers a relative newver path with the keyfile beside the config. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysfix: quote nvchecker section names containing non-bare-key charsDanilo M.2-7/+80
Section names with '.', '-', etc. must be TOML-quoted (e.g. ["yt-dlp"]), otherwise nvchecker fails to parse them. add_nvchecker_section wrote bare [pkg] headers, so such names had to be hand-quoted. Worse, _has_nvchecker_section only matched the bare form, so already-present quoted sections were reported as missing and re-flagged for populate on every 'mkhint -C' run. Add _nvchecker_label helper as the single source of truth for the written label (bare iff name matches ^[A-Za-z0-9_]+$, else double-quoted), used by both the write side (3 section headers + messages) and the read side (_has_nvchecker_section grep, with regex metachars escaped so '.' is literal). Tests T32-T34 cover quoted-header write, no-duplicate on re---new, and --check recognizing an existing quoted section. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysdocs: document --check populate-missing-sections promptDanilo M.2-1/+8
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daystest: add T29-T31 for --check populate missing sectionsDanilo M.1-0/+77
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysfeat: --check offers to populate missing nvchecker sectionsDanilo M.1-1/+33
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysrefactor: extract _has_nvchecker_section helperDanilo M.1-2/+10
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysdocs: plan for --check populate missing sectionsDanilo M.1-0/+379
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysdocs: spec for --check populate missing nvchecker sectionsDanilo M.1-0/+155
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daystest: add T27 (downgrade flag) and T28 (--check scan-all)Danilo M.1-0/+41
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysdocs: document nvchecker integration and --check commandDanilo M.2-4/+66
- 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>
6 daysfeat(completion): add --check/-C flag and package-name completionDanilo M.1-2/+2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daystest: add nvchecker config patch and mock tools to harnessDanilo M.1-0/+211
- Patch NVCHECKER_CONFIG in run_mkhint() sed block - Add nvchecker.toml + new_ver.json/old_ver.json fixtures in setup() - Add github (ghpkg) and pypi (pypkg) .info fixtures - Add mock_nvchecker_tools() with no-op nvchecker and logging nvtake - Call mock_nvchecker_tools after mock_wget Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysfeat: add --check/-C bulk update commandDanilo M.1-2/+101
6 daysfeat: suggest nvchecker version on --hintfile without -vDanilo M.1-1/+39
6 daysfeat: write nvchecker section on --new from .infoDanilo M.1-0/+1
6 daysfeat: add add_nvchecker_section with github/pypi autodetectDanilo M.1-0/+61
6 daysfeat: add nvchecker_latest keyfile readerDanilo M.1-0/+28
6 daysfeat: add check_nvchecker tool-availability guardDanilo M.1-0/+17
6 daysfeat: add NVCHECKER_CONFIG constant and help text for nvchecker featuresDanilo M.1-1/+5
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysdocs: nvchecker integration implementation planDanilo M.1-0/+1065
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysdocs: nvchecker integration design specDanilo M.1-0/+206
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05feat: prompt to run slackrepo after --hintfile updateDanilo M.2-0/+13
Saves the round-trip of manually invoking slackrepo after every hint version bump. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05feat(completion): suggest current VERSION when completing -vDanilo M.2-2/+16
When -f <package> is already on the command line, -v [TAB] reads VERSION from the existing hint file and offers it as the only completion candidate. No hint file = no suggestion. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18feat: multiline DOWNLOAD support, test suite, updated docsDanilo M.4-51/+571
- 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
2026-05-18refactor: extract update_checksums, apply version/md5 on --newDanilo M.1-18/+35
--new with -v now sets version and recalculates md5sums via shared update_checksums function. Previously -n ignored VERSION entirely.
2026-05-18fix: always run downloads when updating hint file with -NDanilo M.1-18/+16
-N should add NODOWNLOAD=yes but still recalculate md5sums. Previously it skipped the download block entirely.
2026-05-14refactor: switch arg parser to GNU getoptDanilo M.2-7/+19
Enables compound short flags (e.g. -Nn, -Nd). Also add short flags to bash completion candidates.
2026-05-14add --no-dl/-N option to skip downloads and set NODOWNLOAD=yesDanilo M.4-27/+97
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>
2026-05-07rename mkhintfile.sh to mkhint, add --delete/-d optionDanilo M.5-61/+108
- 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>
2026-05-07Initial commitDanilo M.4-0/+516
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>