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 setgitpermsgancho.
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
svnpara fazer isso
- git: o
setgitpermshook lida com isso de forma transparente ( post-checkoutembora 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 /etccontrole 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 .gitignorearquivo de nível superior e adicione apenas os arquivos que você deseja usargit add --force
Finalmente, existem alguns diretórios problemáticos sob /etconde 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 ).