[arch-general] Source control on /etc
Matthew Monaco
dgbaley27 at 0x01b.net
Thu Feb 23 11:08:46 EST 2012
On 02/23/2012 12:48 AM, Alfredo Palhares wrote:
> Hello Don,
>
> Excerpts from Don deJuan's message of Thu Feb 23 07:35:52 +0100 2012:
>> What is considered the Arch way to have version control over the configs
>> in /etc? I would like to be able to see at least a few changes back in
>> my config history at the minimum.
>
> I too keep my /etc directory under version control. I have a a detached worktree.
> Wich enables me to have the .git directory outside of /etc. The process is simple:
>
> You create a bare repo:
> $ mkdir etc.git
> $ git init --bare
> Now lets congigure it to chek the files elsewhere:
> $ git config core.worktree /etc
> And export these vars to you current session
> $ export GIT_DIR=/path/to/etc.git
> $ export GIT_WORK_TREE=/etc
>
> Tip here a script[1] easy to work it. Just rember to run it with "." or "source"
> *not* with "sh" since it open another bash session and kills it when script is done.
>
> Now you would be able to git add and git commit in your etc while keeping it clean. :)
>
>> I have seen the package etckeeper and it does not seem to really fully
>> be setup to work with pacman. Both AUR packages are very outdated.
> etckeeper doesn't really fit pacman cause pacman doesn't merge files automatically, only
> apt does that (if you silly enough to configure it to do that :p ). Also etckeeper commits
> all the files in /etc wich makes quite dummy commits. They not really resetable...
> I use use it on debian server only as the last resource.
>
> The Arch way is quite simpler, every time you merge a pacnew or add a feature to a config file
> you commit it and keep the same workflow as a normal code repo. Much simpler.
>
>> Would I just be best off just copying the ones I change and then push
>> the changes to a separate dir that is under control of say git? What
>> methods do you employ?
> Well this is kinda hard to do (believe me i tried) Also having the .git on /etc and other dirs like
> $HOME is quite anoying since i get the (branch) in red on my bash prompt[2].
>
> I hope this can help you.
>
> [1] https://github.com/masterkorp/Home-files/blob/master/scripts/export_git.sh
> [2] https://github.com/masterkorp/Home-files/blob/master/.bashrc
>
What about permissions and ownership? These are pretty important for /etc.
More information about the arch-general
mailing list