Я проверял это дома (~ 3 хоста) в течение некоторого времени, пробуя разные scms (RCS, Subversion, git). Настройка, которая отлично работает для меня прямо сейчас, это git с setgitperms
крючком.
Что нужно учитывать:
Обработка прав доступа к файлам и владения
- RCS: делает это изначально
- Subversion: последний раз, когда я пытался, тебе нужна была обертка
svn
для этого
- git:
setgitperms
ловушка обрабатывает это прозрачно ( post-checkout
хотя нужна достаточно свежая версия git с поддержкой ловушек)
Кроме того, если вы не хотите, чтобы все /etc
контролировались версиями, а только те файлы, которые вы на самом деле изменили (например, я), вам понадобится scm, поддерживающий этот вид использования.
- RCS: все равно работает только с отдельными файлами.
- Subversion: я обнаружил, что это сложно.
- git: no probem, поместите "
*
" в .gitignore
файл верхнего уровня и добавьте только те файлы, которые вы хотите использоватьgit add --force
Наконец, есть некоторые проблемные каталоги в /etc
которых пакеты могут упасть конфигурации фрагментов, которые затем читают какой - то программы или демон ( /etc/cron.d
,
/etc/modprobe.d
и т.д.). Некоторые из этих программ достаточно умны, чтобы игнорировать файлы RCS (например, cron), некоторые - нет (например, modprobe). То же самое с .svn
каталогами. Опять же большой плюс для git (создает только один .git
каталог верхнего уровня ).