Eu testei isso em casa (~ 3 hosts) há algum tempo, tentando scms diferentes (RCS, Subversion, git). A configuração que funciona perfeitamente para mim agora é git com o setgitperms
gancho.
Coisas que você precisa considerar:
Manipulação de permissões e propriedade de arquivos
- RCS: faz isso nativamente
- Subversion: a última vez que tentei, você precisava de um wrapper
svn
para fazer isso
- git: o
setgitperms
hook lida com isso de forma transparente ( post-checkout
embora precise de uma versão bastante recente do git com suporte para hooks)
Além disso, se você não quiser ter todo o seu /etc
controle sob versão, mas apenas os arquivos que você realmente modificou (como eu), precisará de um scm que suporte esse tipo de uso.
- RCS: funciona apenas em arquivos únicos de qualquer maneira.
- Subversion: Achei isso complicado.
- git: no probem, coloque "
*
" no .gitignore
arquivo de nível superior e adicione apenas os arquivos que você deseja usargit add --force
Finalmente, existem alguns diretórios problemáticos sob /etc
onde os pacotes podem cair pedaços de configuração que depois são lidos por algum programa ou daemon ( /etc/cron.d
,
/etc/modprobe.d
, etc.). Alguns desses programas são inteligentes o suficiente para ignorar arquivos RCS (por exemplo, cron), outros não (por exemplo, modprobe). A mesma coisa com os .svn
diretórios. Novamente, uma grande vantagem para o git (cria apenas um .git
diretório de nível superior ).