Ответ 1
Для решения этой проблемы существует один из вариантов:
WsgiDAV - это сервер WebDAV на python, который предлагает множество бэкэндов включая DVCS mercurial, а также некоторые другие модные магазины (couchdb, mongodb, MySQL, App Engine). Обратите внимание на текущую версию: "Это не производственный код".
Похоже, что другое управление версиями, чем SVN WebDAV, автовверсия, позволяя вам совершать изменения, состоящие из нескольких обновлений одновременно (перетаскивая их из "edit" в "выпущенные" папки и так, в то время как autoversioning SVN + WebDAV создает слишком много коммитов, создавая версию для изменения. Таким образом, она не совсем полностью автоматизирована, но не требует доступа к командной строке и является IMO превосходной моделью.
Размышление об этом в более общем плане... Я не рекомендую полностью автоматическую фиксацию WebDAV + SVN. Как вы говорите, "коммиты в авто-версировании часты". Но они настолько часты и обычно бессмысленны.
Мое собственное решение - запустить на моем сервере хранилище git или mercurial, и с регулярным интервалом использовать cron-job для изменения версии. Уродливый, но функциональный, и не требует специальной настройки сервера/специальных модулей apache и т.д. Еще лучше, я могу получить доступ к указанному репозиторию через WebDAV, или SFTP, или к файлу windows/apple или локальному зеркалу DVCS, в зависимости от моих потребностей, и все они работают без проблем.
Git, например, имеет неплохую проверку перемещения файлов, поэтому это уменьшает необходимость в доступе к WebDAV как таковому. Если вы перемещаете каталог в SVN-контроле без прохождения уровня доступа, который переводит его в команду svn mv
, тогда может произойти ужасное повреждение. AFAICT, главное преимущество WebDAV + SVN заключается в том, что он не позволяет вам нарушать вашу собственную проверку таким образом.
С другой стороны, "компактные базы данных" git или меркуриальные - не настоящая причина предпочитать их в SVN в этом случае. Однако, если вы хотите иметь дело с реальными конфликтами синхронизации, я бы порекомендовал любой из них по подрывной деятельности для их превосходного разрешения конфликтов и общего более низкого уровня суеты/гибкости.