Система контроля версий с меньшим дублированием данных
У нас есть доморощенная система управления конфигурациями, и мы хотели бы добавить в нее версии файла конфигурации простым способом. Моей первой мыслью была svn (или похожая), но я занимаюсь созданием репо в одном месте, просто чтобы проверить его в другом месте в той же системе. В этом случае мы не используем дистанционные или даже множественные проверки. Существует ли система управления версиями программного обеспечения, которая находится в одном месте (метаданные + рабочая копия) и будет хранить только дельты? Некоторые из наших узлов конфигурации имеют большие tar-архивы и двоичные установщики.
3 ответа
Диски дешевые; сети быстрые; Потеря данных неинтересна (была там, потеряла пару недель работы). Наличие хранилища в отдельном месте - это особенность, а не ошибка. Это стоит копейки и может спасти вас много горя.
Тем не менее, если вы действительно хотите пойти по этому пути, возможно, вы можете использовать современную файловую систему со встроенным снимком. На Solaris я использовал снимки ZFS в качестве контроля версий бедняков в течение многих лет. В Linux btrfs вполне может быть близок к использованию.
Вы рассматривали etckeeper?
Это система контроля версий, которая может полагаться (см. Ее конфигурацию) на большинство DVCS (hg
, git
, bzr
или же darcs
).
Это автоматически версии всех ваших файлов в /etc
и фиксирует их автоматически каждый раз, когда они изменяются.
Поскольку он опирается на DVCS, вы можете даже использовать его для дублирования / резервного копирования вашей конфигурации, используя push/pull/mirror/etc.
команды (в зависимости от выбранного вами бэкэнда DVCS).
На самом деле это не так ненормально. Там нет никаких функциональных проблем с обработкой вещей таким образом. Большинство VCS не особенно хорошо справляются с отслеживанием изменений в двоичном файле, поэтому оно менее полезно для отслеживания изменений, но все равно будет работать. Если вы используете DVCS, то вы получаете некоторую защиту от единого сбоя системы. git или mercurial должны быть доступны для RH без особых проблем и должны хорошо работать для ваших нужд, как svn.