Назад | Перейти на главную страницу

система управления версиями с меньшим дублированием данных

У нас есть собственная система управления конфигурациями, и мы хотели бы добавить в нее управление версиями файлов конфигурации простым способом. Моей первой мыслью был svn (или аналогичный), но я озабочен созданием репо в одном месте, просто чтобы проверить его в другом месте в той же системе. В этом случае нам не нужны удаленные или даже множественные кассы. Существует ли система управления версиями программного обеспечения, которая находится в одном месте (метаданные + рабочая копия) и хранит только дельты? Некоторые из наших узлов конфигурации имеют большие архивы tar и двоичные установщики.

Диски дешевые; сети быстрые; потеря данных - не забава (был там, потерял пару недель работы). Наличие репозитория в отдельном месте - это особенность, а не ошибка. Это стоит копейки и может сэкономить вам много горя.

Тем не менее, если вы действительно хотите пойти по этому пути, возможно, вам стоит рассмотреть возможность использования современной файловой системы со встроенным моментальным снимком. В Solaris я годами использовал моментальные снимки ZFS как средство контроля версий для бедняков. В Linux btrfs вполне может быть близок к использованию.

Вы считали etckeeper?

Это система управления версиями "на месте", которая может полагаться (см. Ее конфигурацию) на большинство DVCS (hg, git, bzr или darcs).

Он автоматически обновляет все ваши файлы в /etc и автоматически фиксирует их каждый раз, когда они изменяются.

Поскольку он полагается на DVCS, вы даже можете использовать его для дублирования / резервного копирования вашей конфигурации, используя push/pull/mirror/etc. команды (в зависимости от выбранного вами бэкенда DVCS).

На самом деле это не так уж и ненормально. В таком обращении нет никаких функциональных проблем. Большинство VCS не очень хорошо справляются с отслеживанием изменений в двоичном файле, поэтому он менее полезен для отслеживания изменений, но все равно будет работать. Если вы используете DVCS, вы получаете некоторую защиту от сбоя одной системы. git или mercurial должны быть доступны для RH без особых проблем, и оба должны хорошо работать для ваших нужд, как и svn.