From 181297967a68b97e53ec9448fb708561bb3bcb10 Mon Sep 17 00:00:00 2001 From: Richard Freeman Date: Sat, 20 Jun 2026 14:53:03 +0000 Subject: [PATCH 1/3] =?UTF-8?q?test:=20master=20ruleset=20smoke=20?= =?UTF-8?q?=E2=80=94=20cosmetic=20AGENTS.md=20whitespace?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index bdcbf92..8d953ca 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -40,3 +40,4 @@ All work on **topic branches** → PR to `develop`. perl -c cfg-update ./test/run-tests.sh --full ``` + From b40290d8840a0ff2ddb8458d333c4aa69ea36451 Mon Sep 17 00:00:00 2001 From: Richard Freeman Date: Tue, 28 Jul 2026 12:54:03 +0000 Subject: [PATCH 2/3] Release 1.11.0 Bump version strings and ebuild PV to 1.11.0. ChangeLog covers Stage 3/4 merge-view temps (#65, #68), CONTENTS ancestor promote validation (#66), and optional MentisDB AGENTS guidance. Sync INVENTORY/DEPENDENCIES ebuild paths to the new PV. --- ChangeLog | 12 ++++++++++++ README.md | 2 +- cfg-update | 2 +- docs/DEPENDENCIES.md | 6 +++--- docs/INVENTORY.md | 6 +++--- ...update-1.10.4.ebuild => cfg-update-1.11.0.ebuild} | 0 6 files changed, 20 insertions(+), 8 deletions(-) rename gentoo/{cfg-update-1.10.4.ebuild => cfg-update-1.11.0.ebuild} (100%) diff --git a/ChangeLog b/ChangeLog index e112bf6..3619315 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,18 @@ # Copyright 2002-2005 Gentoo Technologies, Inc.; Distributed under the GPL v2 # $Header: $ +*cfg-update-1.11.0 (2026-07-28) + + Safety: Stage 3 and Stage 4 interactive merge tools receive disposable + /tmp views of non-live inputs (ancestor and/or Portage ._cfg* marker) + so accidental tool saves cannot corrupt permanent backups or markers + (issues #65, #68). Before promoting a staged marker to the Stage 2 + ancestor (._new-cfg_*), validate its MD5 against Portage VDB CONTENTS + for the live path; mismatch skips promote with a warning, missing + CONTENTS fails open (issue #66). Docs: optional MentisDB guidance in + AGENTS.md (PR #70). Expanded Tier D path/hostile and Tier G CONTENTS + promote tests. + *cfg-update-1.10.4 (2026-06-20) Drop gtkdiff and imediff2 merge-tool support; align merge-tool lists in diff --git a/README.md b/README.md index 9b1354d..f511e3a 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Feedback is welcome. A safe, staged alternative to Gentoo's `etc-update` for handling configuration file updates after package merges. -**Version:** 1.10.4 +**Version:** 1.11.0 **License:** GPL-2 ([COPYING](COPYING)) ## Description diff --git a/cfg-update b/cfg-update index 9378dca..9127890 100755 --- a/cfg-update +++ b/cfg-update @@ -35,7 +35,7 @@ $Term::ANSIColor::AUTORESET = 1; ###################################################################################################################### # Setting program variables... - my $version = "1.10.4"; + my $version = "1.11.0"; my $progname = basename($0); my $debug = "2>/dev/null"; my $website = "https://github.com/rich0/cfg-update"; diff --git a/docs/DEPENDENCIES.md b/docs/DEPENDENCIES.md index a659033..1ceb004 100644 --- a/docs/DEPENDENCIES.md +++ b/docs/DEPENDENCIES.md @@ -122,10 +122,10 @@ Run from a git checkout (no root required): ./test/run-tests.sh ``` -Gentoo ebuild ([`gentoo/cfg-update-1.10.4.ebuild`](../gentoo/cfg-update-1.10.4.ebuild)): +Gentoo ebuild ([`gentoo/cfg-update-1.11.0.ebuild`](../gentoo/cfg-update-1.11.0.ebuild)): ```bash -FEATURES=test USE=test emerge --oneshot /path/to/gentoo/cfg-update-1.10.4.ebuild +FEATURES=test USE=test emerge --oneshot /path/to/gentoo/cfg-update-1.11.0.ebuild ``` | Requirement | Gentoo package | Used in | @@ -161,7 +161,7 @@ grep -q 'cfg-update --index' /etc/portage/bashrc && echo "hook OK" A reference ebuild is maintained in [`gentoo/`](../gentoo/). Install with: ```bash -FEATURES=test USE=test emerge --oneshot /path/to/gentoo/cfg-update-1.10.4.ebuild +FEATURES=test USE=test emerge --oneshot /path/to/gentoo/cfg-update-1.11.0.ebuild ``` Or from the Gentoo tree: `emerge app-portage/cfg-update`. diff --git a/docs/INVENTORY.md b/docs/INVENTORY.md index 913360f..95a32e1 100644 --- a/docs/INVENTORY.md +++ b/docs/INVENTORY.md @@ -2,7 +2,7 @@ **Updated:** 2026-06-20 (issue #29) **Repo:** [rich0/cfg-update](https://github.com/rich0/cfg-update) -**Version:** 1.10.4 +**Version:** 1.11.0 **Target usage:** Single-host Gentoo with Portage (`emerge`); Paludis best-effort --- @@ -23,7 +23,7 @@ The repository has **no language-level lockfile** (no `package.json`, `cpanfile` | [`cfg-update.conf`](../cfg-update.conf) | 166 | Config template (installed as `/etc/cfg-update.conf`) | | [`cfg-update.8`](../cfg-update.8) | 149 | Man page | | [`cfg-update_indexing`](../cfg-update_indexing) | 12 | Paludis hook script (copied to `/usr/share/paludis/hooks/...`) | -| [`gentoo/cfg-update-1.10.4.ebuild`](../gentoo/cfg-update-1.10.4.ebuild) | — | Reference Gentoo ebuild with `src_test()` | +| [`gentoo/cfg-update-1.11.0.ebuild`](../gentoo/cfg-update-1.11.0.ebuild) | — | Reference Gentoo ebuild with `src_test()` | | [`ChangeLog`](../ChangeLog) | — | Gentoo ebuild changelog (historical) | | [`COPYING`](../COPYING) | — | GPL v2 | | [`test/run-tests.sh`](../test/run-tests.sh) | — | Integration test harness (Tiers 0–F) | @@ -220,7 +220,7 @@ See [DEPENDENCIES.md](DEPENDENCIES.md) for install commands. Summary: | Package | Purpose | |---------|---------| -| `app-portage/cfg-update` | Install via [`gentoo/cfg-update-1.10.4.ebuild`](../gentoo/cfg-update-1.10.4.ebuild) | +| `app-portage/cfg-update` | Install via [`gentoo/cfg-update-1.11.0.ebuild`](../gentoo/cfg-update-1.11.0.ebuild) | | `sys-apps/findutils` | `xargs` for index build | | `dev-util/meld` (recommended) | Default merge tool | | `dev-perl/Term-ANSIColor`, `dev-perl/TermReadKey` | Perl deps | diff --git a/gentoo/cfg-update-1.10.4.ebuild b/gentoo/cfg-update-1.11.0.ebuild similarity index 100% rename from gentoo/cfg-update-1.10.4.ebuild rename to gentoo/cfg-update-1.11.0.ebuild From 81c63f3f716bc367f8bd20aea1326dfed7a66311 Mon Sep 17 00:00:00 2001 From: rich0 Date: Tue, 28 Jul 2026 08:59:58 -0400 Subject: [PATCH 3/3] Clean up LLM-generated Changelog Made more accessible to the end user and described in terms of actual impact. Commit history still has the details of how it was done. --- ChangeLog | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3619315..4a944f0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,15 +4,12 @@ *cfg-update-1.11.0 (2026-07-28) - Safety: Stage 3 and Stage 4 interactive merge tools receive disposable - /tmp views of non-live inputs (ancestor and/or Portage ._cfg* marker) - so accidental tool saves cannot corrupt permanent backups or markers - (issues #65, #68). Before promoting a staged marker to the Stage 2 - ancestor (._new-cfg_*), validate its MD5 against Portage VDB CONTENTS - for the live path; mismatch skips promote with a warning, missing - CONTENTS fails open (issue #66). Docs: optional MentisDB guidance in - AGENTS.md (PR #70). Expanded Tier D path/hostile and Tier G CONTENTS - promote tests. + Safety checks added during all merges to prevent editing of any file versions + other than the leftmost one. This was always intended behavior but lacked + safeguards previously. Hashes are also checked to detect changes made + outside of cfg-update. These will still be preserved but will not be + relied upon in future automatic merges. The next clean package update + will return automatic merge behavior for that package. *cfg-update-1.10.4 (2026-06-20)