An Arch Linux tool based on git for the maintenance of /etc files.
pip install etcmaint==0.8
etcmaint uses Git to merge the /etc configuration files installed by pacman that have been customized.
The customized configuration files in /etc are detected by etcmaint and
tracked in the master
branch of the Git repository. See Handling Config
Files for when such a detection occurs. After a pacman upgrade,
etcmaint uses Git to merge the customized configuration files with the
changes introduced by the upgrade.
The configuration files in /etc that are not installed by pacman, for
example netctl profiles, can be manually committed to the master
branch.
Changes made to those files will then be also tracked by etcmaint.
etcmaint uses a master-tmp
temporary branch, that stems from master
,
to commit all the changes made during a session. This temporary branch is
merged back into master
only when the session is finalized, that is when
the customized configuration files that have been merged by Git are copied
back to /etc.
The changes in the current etcmaint session before finalization can be printed with:
git diff master...master-tmp
Documentation at GitLab Pages.