Существует один вариант на рынке для этой проблемы:
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 для их превосходного разрешения конфликтов и общего более низкого уровня суеты / гибкости.