Автоматическое управление версиями WebDAV в Git, Hg или любом современном VCS - PullRequest
13 голосов
/ 31 января 2010

Я только недавно узнал об автоматической версии SVN для WebDAV. Хотя я понимаю, что это не замена для правильного управления версиями, с сообщениями, документирующими наборы изменений, это выглядит как надежная и надежная замена Dropbox (за исключением хороших графических интерфейсов и веб-страниц). Однако, поскольку коммиты в автоматическом версионировании встречаются часто, я думаю, что Git или Hg лучше подходят для этого, просто из-за их более компактных баз данных (хотя мне интересно, может ли распределенная природа вещей сделать некрасивую автоматизацию для решения проблем) конфликты).

Это функция, которая была реализована с использованием Git или Hg, насколько кто-либо знает?

Ответы [ 3 ]

9 голосов
/ 21 января 2011

Существует один вариант на рынке для этой проблемы:

WsgiDAV - это сервер Python WebDAV, который предлагает различные бэкэнды , включая DVCS mercurial , а также некоторые другие модные магазины (couchdb, mongodb, MySQL, App Engine). Обратите внимание, что текущая версия заявляет: «Это не рабочий код».

Похоже, что версионирование отличается от версии WebDAV SVN - автоверсия, позволяющая фиксировать наборы изменений, состоящие из нескольких обновлений одновременно (путем перетаскивания из папок "edit" в "освобожденные" и т. Д., В то время как автоверсия SVN + WebDAV создает слишком много коммитов создание версии для каждого изменения. Так что это не совсем автоматическое управление версиями, но оно не требует доступа из командной строки и является IMO лучшей моделью.

Думая об этом в более общем плане ... Я вообще не рекомендую автоматическую фиксацию WebDAV + SVN. Как вы говорите, «коммиты в автоматическом версионировании встречаются часто». Но они очень часты и обычно бессмысленны.

Мое собственное решение состоит в том, чтобы запустить git или mercurial репозиторий на моем сервере и использовать cron-job для изменения его версий через регулярные промежутки времени. Уродливо, но функционально и не требует специальной настройки сервера / специальных модулей apache / и т.д. Более того, я могу получить доступ к указанному хранилищу через WebDAV, или SFTP, или через файловый ресурс windows / apple, или через локальное зеркало DVCS, в зависимости от моих потребностей, и все они работают без проблем.

Например, в Git достаточно хорошее обнаружение перемещения файлов, поэтому это уменьшает потребность в доступе к WebDAV как таковому. Принимая во внимание, что если вы перемещаете каталог в проверке SVN без прохождения уровня доступа, который переводит это в команду svn mv, то это может привести к ужасному повреждению. AFAICT, главное преимущество WebDAV + SVN заключается в том, что он не позволяет вам таким образом нарушать вашу собственную кассу.

С другой стороны, «компактные базы данных» git или mercurial не являются реальной причиной, чтобы отдавать им предпочтение перед SVN в этом случае. Тем не менее, если вы хотите иметь дело с реальными конфликтами синхронизации, я бы порекомендовал любой из них по сравнению с Subversion для их превосходного разрешения конфликтов и общего более низкого уровня суеты / гибкости.

3 голосов
/ 30 апреля 2010

Похоже, никто еще не написал автоверсию для других VCS, кроме SVN.Поскольку поддержка WebDAV / DeltaV реализована на сервере SVN, невозможно просто переключить VCS на другой, чем SVN.

Простой доступ к WebDAV возможен практически со всеми DVCS, но они обеспечивают только доступхранилище для клиентов WebDAV и push-операций для собственного клиента DVCS, но без автоматической версии.

Некоторые ссылки, чтобы узнать больше о:

1 голос
/ 30 августа 2011

Если вы хотите зафиксировать только каждое внесенное вами изменение, вы также можете воспользоваться приведенным ниже решением, просматривая используемые папки, используя inotifywait :

Создание git auto-comit

Похоже, это работает с любыми версиями, которые вы можете использовать.

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