Оформить заказ SVN-репозитория из сети - PullRequest
1 голос
/ 30 ноября 2011

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

Unable to open an ra_local session to URL 
Unable to open repository 'file://REMOTE-PC/repositories/MyApps/trunk/App1' 
Can't open file '\\REMOTE-PC\repositories\MyApps\trunk\App1\format': Logon 
failure: unknown user name or bad password.

Мои вопросы

  1. Нужно ли специальное разрешение для папки на сервере, чтобы я мог успешно извлечь хранилище?

  2. Документация здесь указывает, какой протокол использовать где? Я использовал это раньше на ВМ, который работал

    Файл: // ДИСТАНЦИОННОГО PC / Хранилище / MyApps / багажник / App1

Что я должен использовать?

+------------+--------------------------------------------------------------+
| file:///   | Direct repository access (on local disk)                     |
| http://    | Access via WebDAV protocol to Subversion-aware Apache server |
| https://   | Same as http://, but with SSL encryption.                    |
| svn://     | Access via custom protocol to an svnserve server             |
| svn+ssh:// | Same as svn://, but through an SSH tunnel.                   |
+------------+--------------------------------------------------------------+

Что это работало раньше и не работает сейчас? Пожалуйста, ответьте на оба вопроса.

Я также хочу отметить, что если я хочу получить доступ к своему ПК (где находится хранилище) с сервера (я использую удаленный рабочий стол), я должен ввести имя пользователя и пароль. Нужно ли указывать их в команде SVN?

Ответы [ 3 ]

4 голосов
/ 01 декабря 2011

Никогда не следует использовать протокол file://.Никогда никогда никогда.Ну, бывают случаи, когда его можно использовать, но это должно быть только в том случае, если все следующее верно:

  • Вы единственный, кто использует репозиторий.
  • Репозиторийсидя в вашей системе.
  • Вы пробуете Subversion.

Если ваш репозиторий находится в удаленной системе.Не используйте file://.Если это публичный репозиторий, вы не используете file://.Серверный процесс svnserve Subversion чрезвычайно прост в настройке и использовании.И это быстро, и это позволяет избежать всех проблем и ошибок, связанных с прямым доступом к хранилищу.На самом деле, в моем личном репозитории, который находится в моей системе, я использую svnserve.


Существует как минимум дюжина ошибок, которые могут возникнуть, чтобы вызвать проблемы, на которые вы указываете.Для сервера необходимы разрешения, в современной системе Windows могут быть проблемы с UAC, даже если вы вошли в систему как администратор.Это просто вызывает проблемы.

Посмотрите документацию по настройке svnserve .Самая большая проблема, с которой вы столкнетесь, заключается в том, чтобы убедиться, что ваш ИТ-отдел не блокирует порт 3690.

Запустите процесс svnserve на удаленном сервере и убедитесь, что процесс сервера имеет полное право собственности и все разрешения на всефайлы в хранилище.

Есть пара ошибок, связанных с процессом svnserve, которые не позволяют запускаться из коробки:

  • Редактирование conf/svnserve.conf файла : Этот файл по умолчанию довольно хорош.Однако файл паролей по умолчанию закомментирован.Удалите #, который вы видите перед строкой password-db = passed.Я не уверен, почему это не по умолчанию.Вы также можете установить имя realm, пока вы на нем.В этом нет необходимости.

  • Редактирование passwd файла : вам необходимо установить имя пользователя и пароль для каждого пользователя.Просто следуйте примеру.

И затем запустите svnserve, и теперь вы можете получить доступ к вашему хранилищу через:

$ svn ls svn://REMOTE-PC/MyApps/trunk/App1

Это легко сделать (весьвещь может быть настроена в течение нескольких минут) и устранит все ваши проблемы.

3 голосов
/ 01 декабря 2011

С Subversion ваши библиотеки предъявляют строгие требования к файлам, которые обрабатываются для хранения «хранилища».Службы SMB / общие ресурсы Windows / Samba не отвечает этим требованиям.

Никогда не следует скрывать сеть от Subversion, используя протокол file:// для общего сетевого ресурса.Это означает, что сбои и перебои в сети не приводят к осознанию Subversion того, что изменения могут храниться неправильно.В зависимости от изменений и обстоятельств, это может очень плохо повлиять на ваше хранилище.

Если вы используете удаленное хранилище, используйте один из сетевых протоколов.У них есть надлежащий код для обнаружения и захвата отключений в сети, и их не следует путать с неверным сообщением о том, что что-то было сохранено в хранилище.

0 голосов
/ 01 декабря 2011

Проверьте разрешения на чтение / запись для этого пути:

\\REMOTE-PC\repositories\MyApps\trunk\App1
...