Подтвердить что ты не робот

Ошибка SVN с ошибкой "Ошибка авторизации"

Я новый пользователь с SVN, и я встречаю проблему с командой SVN commit.

Я использую TortoiseSVN 1.6.6 и Ubuntu Subversion с WMware в качестве сервера.

Я создал репозиторий на сервере SVN, и я могу легко проверить файлы из репозитория, но совершить.

Когда я делаю фиксацию, он всегда показывает проблему.

Command: Commit  
Error: Commit failed (details follow):  
Error: Authorization failed  
Finished!:   

Эта проблема отображается только на локальном клиенте с репозиторием SVN-сервера на виртуальной машине. Я попытался создать репозиторий на локальной машине с TortoiseSVN, и это не проблема в Commit. Я также попробовал рабочую копию на серверной машине, это тоже не проблема в Commit.

Кто-нибудь сталкивался с этой проблемой? Это не проблема с Checkout с сервера VM SVN, но это показывает проблемы с локальным клиентом, передающим сервер VM.

Если что-то нужно настроить, я пропустил это сделать?

4b9b3361

Ответ 1

Это авторизация не удалась. Это означает, что на первом этапе аутентификация прошла успешно.

Итак: имя пользователя/пароль верен и был принят вашим сервером. Но тогда этому пользователю не разрешалось обращаться к пути/ресурсу.

проверьте свой файл авторизации на основе пути (conf/authz) и убедитесь, что у пользователя есть права.

Ответ 2

Для меня это произошло из-за миграции сервера. В svnserve.conf я забыл раскомментировать:

auth-access = write
password-db = passwd

Ответ 3

Если сервер использует svnserve для обслуживания репозитория (это означает, что вы используете URL svn://), вы должны проверить файл conf/svnserve.conf в репозитории. Конфигурация по умолчанию позволяет анонимное чтение, но только аутентифицированные обращения к записи IIRC.

Ответ 4

У меня была такая же проблема с RapidSVN (или при использовании svn commit из CLI). Выяснилось, что я просматривал репо с помощью анонимного доступа к Subversion (ссылка svn://):

svn checkout svn://svn.r-forge.r-project.org/svnroot/rsitesearch/

Но при использовании этой ссылки для репо вы не можете совершать изменения. Таким образом, решение заключалось в использовании ссылки svn+ssh://, обеспечивающей доступ к Subversion для разработчиков через SSH:

svn checkout svn+ssh://[email protected]/svnroot/rsitesearch/

В других службах SVN правильная ссылка для фиксации может быть https://. На самом деле у меня есть лучший опыт работы с выпиской https://, поэтому сначала попробуйте это.

Теперь svn commit должен работать как ожидалось.

(Это то же самое решение, что и предложенное Wug в комментарии к OP.)

Ответ 5

Мой опыт был похож на bluebrother Я создал новый репозиторий правильно, но не правильно настроил пользователей. Это позволило мне Checkout, но не Commit

Отредактируйте repoLocation/conf/svnserve.conf и раскомментируйте строку

password-db = passwd

Отредактируйте repoLocation/conf/passwd и добавьте имя пользователя и пароль в passwd, например

tim = пароль

Ответ 6

Прежде всего, можете ли вы просмотреть репозиторий из Tortoise? Если вы можете, то учетная запись пользователя, к которой вы обращаетесь в репозиторий, не имеет прав на запись (= фиксация).

Если вы не можете ни просматривать, ни комментировать: может быть, что Tortoise хранит неверные данные аутентификации на вашем клиенте. Я думаю, что в этом случае он должен снова запросить учетные данные, но, возможно, это не так. Попробуйте следующее:

  • Откройте меню "Пуск", перейдите в группу TortoiseSVN

  • Нажмите "Настройки TortoiseSVN"

  • Перейдите к "Сохраненные данные"

  • Нажмите "Очистить" в "Данные аутентификации"

После этого Tortoise забудет все сохраненные пароли и попросит вас в следующий раз при попытке получить доступ к виртуальной машине.

Ответ 7

Если вы используете svnserve для обеспечения доступа SVN (т.е. ваш URL-адрес репозитория выглядит как svn://server/repo), убедитесь, что ваш сервер разрешает доступ на запись. В некоторых установках сервер запускается с доступом только для чтения по умолчанию:

# The -R option enforces read-only access, i.e. write operations to the
# repository (such as commits) will not be allowed.
SVNSERVE_OPTIONS="-d -R -r /srv/svn/repos"

Ответ 8

Проверьте свои файлы, используя протокол http вместо протокола svn. У меня была та же проблема, что и при проверке файлов с использованием протокола svn://. Позже я изменил протокол на http://, и все начало работать нормально.

Ответ 9

Кроме того, дважды проверьте, что фактический репозиторий на сервере имеет правильные права доступа к файлу, которые должны быть записаны серверным процессом (либо svnserve, либо Apache). Это, вероятно, хорошо, так как вы могли создать репозиторий другими способами, но стоит проверить на всякий случай.

Ответ 10

примечание: я использую sasl, и я нашел сложный способ, который учитывает регистр, и ожидает имена пользователей в нижнем регистре; то есть "username123" не будет совпадать с "USERNAME123" в вашем файле authz, хотя они написаны одинаково, поэтому, возможно, проверьте, чтобы убедиться, что ваши имена пользователей строчные (в вашем файле authz)