Я делаю это для нескольких машин, начиная от старых Solaris 8 ящиков для Mac OS X, и у меня есть очень простой макет:
В моем репозитории у меня есть следующие:
<root>/common
/.emacs.d
/.bash_common
/scripts # platform-independent binary tools
<root>/linux
.bashrc
.emacs
...
<root>/solaris
.bashrc
.emacs
...
<root>/osx
.bashrc
.emacs
...
Каждый из homedirs ОС имеет ссылку svn: externals на .emacs.d, .bash_common и скрипты, поэтому они не дублируются.
Кроме того, у меня есть .bash_hostconfig в каталогах linux и solaris с настройкой пути к конкретному хосту и тому подобное, потому что у меня совсем другая настройка на работе, чем у меня дома (FC5-8 и RHEL3-5, в зависимости от того, где я).
Итак, между этими вещами у меня довольно простой процесс для запуска и запуска новой машины: я просто проверяю платформу/$ во временную директорию, а затем перезаписываю все в $ HOME этими файлами. Мне не нужно сохранять исходный путь, потому что он всегда относится к $ HOME таким образом.
Используя этот метод, вы можете зафиксировать изменения и использовать 'git diff' для своих конфигурационных файлов? или ваша цель - просто помочь в развертывании? – Tom