обмениваться настройками между несколькими машинами с помощью системы контроля версий - PullRequest
0 голосов
/ 02 ноября 2011

У меня есть несколько машин Linux. Я хочу поделиться своими .vimrc, .hgrc. Но между разными машинами есть небольшая разница. Есть ли умный метод?

Я использую Mercurial.

mkdir settings
ln ~/.vimrc settings/vimrc
ln ~/.hgrc settings/hgrc

, затем используйте Mercurial для сохранения настроек. Есть небольшая разница в файле hgrc на другой машине. Требую ветку слить всегда. Интересно, есть ли лучший метод?

Ответы [ 2 ]

2 голосов
/ 02 ноября 2011

Обычно я использую файл .bashrc и т. Д., Который является общим для всех систем, а затем я создаю локальную версию с именем .bashrc.local или что-то в этом роде, которая не сохраняется в системе контроля версий с помощью специфичные для машины настройки.

В .bashrc:

. ~/.bashrc.local

В .vimrc

:source ~/.vimrc.local

и т.д.


Если вы хотите получить фантазию, вы можете сохранить ваши локальные файлы настроек в системе управления версиями, используя ваше имя хоста в качестве дискриминатора для локального имени файла. Таким образом, вместо .vimrc.local вы можете сделать .vimrc.machine1.local и т. Д.

0 голосов
/ 14 декабря 2011

Существует еще одна (излишняя?) Техника, которая может дополнять другие ответы.

Я использую puppet , который является инструментом для автоматической настройки машин. Я пишу свой марионеточный конфиг (хранится в системе управления версиями), а затем внедряю его на целевые машины Он предлагает функцию «шаблон», которая работает для любого файла.

Например, вы пишете файл .vimrc.erb так:

ENV_VAR=<%= varvalue %>

с "varvalue" в зависимости от целевой машины. С правильными декларациями марионеток ( "для машины xyz, поместите файл .vimrc в дом, сгенерированный из шаблона .vimrc.erb с varvalue = xyz" ), а затем разверните конфигурацию на целевой машине.

Он использует мощный шаблонный механизм "внедренного ruby", так что вы даже можете написать некоторый код ruby ​​для генерации значений. Вы можете использовать его напрямую без марионетки: erb

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...