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

17

Я новый пользователь с 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.

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

задан user263687 01.02.2010 в 17:45
источник

9 ответов

12

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

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

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

    
ответ дан Stefan 01.02.2010 в 20:46
источник
10

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

auth-access = write
password-db = passwd
    
ответ дан Deyan Vitanov 13.09.2014 в 10:46
источник
5

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

    
ответ дан bluebrother 01.02.2010 в 17:57
источник
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://developername@svn.r-forge.r-project.org/svnroot/rsitesearch/

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

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

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

    
ответ дан landroni 23.12.2013 в 20:11
источник
3

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

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

  1. Откройте меню «Пуск», перейдите в группу TortoiseSVN

  2. Нажмите «Настройки TortoiseSVN»

  3. Перейдите к «Сохраненные данные»

  4. Нажмите «Очистить» в «Данные аутентификации»

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

    
ответ дан Pekka 웃 01.02.2010 в 17:51
источник
3

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

Изменить repoLocation /conf/svnserve.conf и раскомментировать строку

  

password-db = passwd

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

  

tim = пароль

    
ответ дан TimSmith-Aardwolf 27.06.2014 в 13:58
источник
3

Если вы используете 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"
    
ответ дан user3151902 25.08.2014 в 14:22
источник
1

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

    
ответ дан MoG 14.01.2014 в 22:43
источник
0

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

    
ответ дан Mark 01.02.2010 в 20:56
источник