He probado esto en casa (~ 3 hosts) desde hace un tiempo, probando diferentes scms (RCS, Subversion, git). La configuración que funciona perfectamente para mí en este momento es git con el setgitpermsgancho.
Cosas que debes considerar:
Manejo de permisos de archivos y propiedad
- RCS: hace esto de forma nativa
- Subversion: la última vez que lo intenté, necesitabas un contenedor
svnpara hacer esto
- git: el
setgitpermsgancho maneja esto de forma transparente ( post-checkoutaunque necesita una versión bastante reciente de git con soporte para ganchos)
Además, si usted no quiere a toda su /etccontrol de versiones bajo, pero sólo los archivos que realmente se haya modificado (como yo), necesitará un SCM que soporte este tipo de uso.
- RCS: funciona solo en archivos individuales de todos modos.
- Subversion: esto me pareció complicado.
- git: no probem, pon "
*" en el .gitignorearchivo de nivel superior y agrega solo los archivos que quieras usargit add --force
Por último, hay algunos directorios problemáticos bajo /etcdonde los paquetes pueden caer fragmentos de configuración que luego son leídos por algún programa o demonio ( /etc/cron.d,
/etc/modprobe.d, etc.). Algunos de estos programas son lo suficientemente inteligentes como para ignorar los archivos RCS (por ejemplo, cron), algunos no lo son (por ejemplo, modprobe). Lo mismo con los .svn
directorios. Una vez más, una gran ventaja para git (solo crea un .git
directorio de nivel superior ).