On Thu, May 30, 2019 at 7:58 AM Mick <michaelkintz...@gmail.com> wrote: > > There's also cfg-update and there may be more tools to manage changes in > config files following an update. > > The merge function is particularly useful, because you can see where your > edits are/not affected by any changes to the new config defaults and reject/ > accept one change at a time.
Yeah, I couldn't live without cfg-update, especially with the auto-merging of changes. The one caveat is that it isn't the best-maintained piece of software out there. I'm mostly nursing it along. It uses 3-way diffs, which means you're looking at the new file, the last Gentoo-provided file, and your current file. So, you can easily see what changed upstream in the last update and focus on those changes, vs the stuff that you added. It can do automatic 3-way diffs. This means that if you made a change to line 500 of some config file from the upstream one, and in the new version line 3 changes, then line 3 will get updated without any intervention. If on the other hand a line close to line 500 changes then you'll be prompted to merge the changes. This is of course optional behavior, but 99% of the time it does the right thing, since most use default configs with a few tweaks. If you completely scrapped the upstream config file and wrote your own this feature won't be useful, but then again it won't touch the files anyway since it will see that it changed. It also tracks everything in RCS. Not my favorite vcs but it works well enough for what the tool itself does, and I just keep all of /etc in git which is the history I'd look at. I use etckeeper (in the repo) for this - nothing too fancy - just some portage hooks to keep git up to date for etc. -- Rich