Сабж. Какую VCS (систему контроля версий) использовать, чтобы вгрузить в нее мегабайт 200-400? Тип контента - иерархия папок Линукс системы, полная. Разумеется, также нужно, чтобы в каждой папке не было подпапки .svn, ибо подпапок тыщи и вычищать будет сложно.
Итого, требование можно сформулировать как:
Как вариант Гугл сразу подсказывает:
Bazaar
Вот Bazaar сами разработчики не рекомендуют:
Также Bazaar не умеет трекить пермишшены и овнеров:
Источник: http://wiki.bazaar.canonical.com/FAQ#Are binary files handled?
Subversion
Subversion также не подходит, так как заспамливает все папки своими .svn.
Mercurial
Далее Mercurial имеет вполне крупные примеры используемых репо: http://mercurial.selenic.com/wiki/RepoSamples
Но имеет неприятную фичу, он не умеет хранить пустые папки: пруфлинк
Общее
Вот список VCS, которые умеют хранить просто пустые папки: http://stackoverflow.com/questions/1080174/scm-vcs-tracking-directories
Заключение
Похоже, то, что я хочу реализовать не получится через VCS ну никак. Разве что подключать Puppet и делать все изменения через него, тогда ничего не потеряется точно :) И он как раз ругается (точнее показывает диффы конфигов), как только замечает, какие файлы изменились.
Итого, требование можно сформулировать как:
VCS with permissions, owners and blank folders tracking
Как вариант Гугл сразу подсказывает:
etckeeper - store /etc in git, mercurial, or bzr
Bazaar
Вот Bazaar сами разработчики не рекомендуют:
That said, bzr is primarily a source code control system, not a media archive system. So it is not a priority to support enormous (hundred-megabyte) binaries or multi-gigabyte trees. There are other tools better suited to that.
Также Bazaar не умеет трекить пермишшены и овнеров:
Versions of Bazaar of 0.1 and later support the tracking of the executable bit. Other permission bits are not currently tracked.
Источник: http://wiki.bazaar.canonical.com/FAQ#Are binary files handled?
Subversion
Subversion также не подходит, так как заспамливает все папки своими .svn.
Mercurial
Далее Mercurial имеет вполне крупные примеры используемых репо: http://mercurial.selenic.com/wiki/RepoSamples
Но имеет неприятную фичу, он не умеет хранить пустые папки: пруфлинк
Общее
Вот список VCS, которые умеют хранить просто пустые папки: http://stackoverflow.com/questions/1080174/scm-vcs-tracking-directories
Заключение
Похоже, то, что я хочу реализовать не получится через VCS ну никак. Разве что подключать Puppet и делать все изменения через него, тогда ничего не потеряется точно :) И он как раз ругается (точнее показывает диффы конфигов), как только замечает, какие файлы изменились.
проблема ли пустые папки? ведь в них можно положить файл если сильно надо. И кстати svn теперь с 1.7 содержит лишь одну папку в корне.
ReplyDeletehttp://mercurial.selenic.com/wiki/RepoSamples - битая ссылка
ReplyDeleteуберите "]"
Фиксед!
ReplyDelete