Является ли svnserve строго обязательным для локального однопользовательского репо? - PullRequest
1 голос
/ 13 марта 2010

Я читал Книгу Красных Бобов и заметил этот абзац:

Не поддавайтесь простой идее чтобы все ваши пользователи имели доступ к хранилище напрямую через файл: // URL. Даже если хранилище легко доступно каждому через сеть поделись, это плохая идея. Удаляет любые уровни защиты между пользователи и хранилище: пользователи могут случайно (или намеренно) повредить базу данных хранилища, это становится трудно взять хранилище в автономном режиме для проверки или обновления, и это может привести к беспорядку файла проблемы с разрешениями (см. раздел называется «Поддержка нескольких хранилищ Методы доступа »). Обратите внимание, что это также одна из причин, по которой мы предупреждаем против доступа к репозиториям через svn + ssh: // URL-адреса - из безопасности точка зрения, это фактически то же самое как локальные пользователи, получающие доступ через файл: //, и это может повлечь за собой все то же самое проблемы, если администратор не осторожны.

Я понял, что, поскольку я единственный, кто имеет доступ к хранилищу, ни одно из этих предостережений, похоже, не применимо. Могу ли я безопасно отключить svnserve тогда и только когда придется беспокоиться об обновлении моего клиента TortoiseSVN, а не клиента и сервера, когда выходит новая версия?

(я уже пробовал - просто нужно было использовать функцию Relocate для переключения с svn: // на file: // - но я хотел убедиться, что что-то не подкрадется ко мне, если я оставил это так.)

Ответы [ 3 ]

3 голосов
/ 13 марта 2010

Да. Эти предупреждения не применяются, если вы единственный, кто когда-либо обращался к хранилищу.

1 голос
/ 13 марта 2010

Я использую SVN с клиентами Tortoise и Slik Subversion, использующими однопользовательский файл: // urls уже пару лет, с абсолютно нулевыми проблемами. Но если вы когда-либо думаете, что вам понадобится многопользовательский доступ, вам нужно использовать один из методов доступа к серверу - не поддавайтесь искушению поместить репозиторий file: // на общий сетевой диск.

0 голосов
/ 21 сентября 2011

Одна потенциальная проблема, которую я вижу, в svn - это уровень косвенности между вами и хранилищем, так что вы можете перемещать хранилище, не затрагивая рабочие копии, которые вы не можете использовать с помощью файла url.

Т.е. если ваш репозиторий находится в / user / repos и вы запустили

svnserve as svnserve --daemon --root /user

пользователь получит доступ к файлу, используя

svn://localhost/repos если позже вам нужно будет изменить хранилище на / user2, вы можете просто запустить

svnserve --daemon --root /user2

и существующий код проверки по-прежнему будет в порядке, тогда как при использовании файлового протокола вам придется переместить ваши файлы.

...