From 41c7bf5f14dab7f763c4c5498c0bfec8312a2ac8 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 10 Jul 2026 11:52:00 +0200 Subject: fix: defer nvtake to slackrepo confirm nvchecker's oldver is now synced (nvtake) only when the slackrepo prompt is confirmed, per package, just before slackrepo runs. Moved out of the hint-rewrite step in --check and the version-accept step in --hintfile (both now route through run_slackrepo). Confirming slackrepo acknowledges the versions; a stopped/failed slackrepo can be rerun without nvchecker re-reporting already-committed versions. Fixes the stuck state where interrupting a run between hint-rewrite and slackrepo left oldver behind the hint, so nvchecker logged a phantom 'updated' line every subsequent --check. Tests T20/T23 answer Y to slackrepo so nvtake fires. Dead check_nvchecker_take flag removed. Co-Authored-By: Claude Opus 4.8 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 7e43aab..b8b4beb 100644 --- a/README.md +++ b/README.md @@ -180,13 +180,13 @@ When creating a new hint file with `--new`, mkhint automatically appends an nvch mkhint --new mypackage # adds [mypackage] section to nvchecker config ``` -When updating an existing hint file with `--hintfile` but without `-v`, mkhint queries nvchecker for the latest version, shows you the current and latest versions, and prompts to accept the latest, type a different version, or decline. After accepting an update, it runs `nvtake` to sync nvchecker's keyfile: +When updating an existing hint file with `--hintfile` but without `-v`, mkhint queries nvchecker for the latest version, shows you the current and latest versions, and prompts to accept the latest, type a different version, or decline. After accepting, it updates the hint and prompts to run slackrepo; `nvtake` (which syncs nvchecker's keyfile) runs only when you confirm the slackrepo step, not on accept: ```bash mkhint --hintfile mypackage # suggests latest version via nvchecker (no -V flag) ``` -Check one or more packages for upstream updates with `--check`. mkhint runs nvchecker for all (or named) hint files, reports outdated packages, prompts per-package to update, applies updates with `nvtake`, and finishes by prompting slackrepo for all updated packages: +Check one or more packages for upstream updates with `--check`. mkhint runs nvchecker for all (or named) hint files, reports outdated packages, prompts per-package to update (rewriting the hint on confirm), and finishes by prompting slackrepo for all updated packages. `nvtake` runs per package only when you confirm the slackrepo prompt, just before slackrepo runs. So confirming slackrepo acknowledges the versions: if slackrepo is then stopped or fails, rerun it and nvchecker won't re-report those updates. Declining slackrepo leaves the hint bumped but the update re-reported next run: ```bash mkhint --check # check all hints for upstream updates -- cgit v1.2.3