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 setgitperms
gancho.
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
svn
para hacer esto
- git: el
setgitperms
gancho maneja esto de forma transparente ( post-checkout
aunque necesita una versión bastante reciente de git con soporte para ganchos)
Además, si usted no quiere a toda su /etc
control 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 .gitignore
archivo de nivel superior y agrega solo los archivos que quieras usargit add --force
Por último, hay algunos directorios problemáticos bajo /etc
donde 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 ).