SVN提交失败,出现“授权失败”错误

SVN提交失败,出现“授权失败”错误

问题描述:

我是SVN的新用户,并且遇到SVN commit命令的问题。SVN提交失败,出现“授权失败”错误

我使用TortoiseSVN 1.6.6和Ubuntu Subversion映像,并将WMware作为服务器。

我确实在SVN服务器上创建了一个存储库,我可以很容易地从存储库检出文件,但是提交。

当我提交时,它总是显示问题。

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

此问题仅显示在本地客户端与虚拟机上的SVN服务器存储库。我试图用TortoiseSVN在本地机器上创建存储库,并且在Commit中没有问题。我也在服务器机器上尝试过一个工作副本,它也没有问题。

有没有人遇到过这个问题?从VM SVN服务器Checkout没有任何问题,但它显示本地客户端提交给VM服务器的麻烦。

如果需要设置任何东西,我错过了吗?

+2

这个问题的老了,但我会添加我的2美分,因为最近我有这个问题。我的问题是我检查存储库的方式。我无意中使用了svn://example.com/Repo代替svn + ssh://[email protected]/Repo作为源代码,匿名签出工作正常,但我无法提交。如果我确定我已经像在其他系统上那样检查过了,我不会有问题,但是我没有。可能值得检查这是否是你的问题:比较工作和非工作之间的回购来源,看看是否有什么明显的错误。 – Wug 2013-03-26 21:04:13

首先,你可以从Tortoise浏览版本库吗?如果可以,那么您正在访问存储库的用户帐户不具有写入(=提交)权限。

如果你既不能浏览也不提交:可能是乌龟在你的客户端存储了错误的认证数据。我认为应该在这种情况下再次要求证书,但也许它不。试试这个:

  1. 打开开始菜单,去TortoiseSVN的组

  2. 点击 “TortoiseSVN的设置”

  3. 转到 “保存的数据”

  4. 点击 “清除”在“认证数据”中

乌龟然后会忘记所有存储的密码,并且在下次尝试访问虚拟机时再次询问您。

+0

我有类似的问题。我对SVN浏览没有任何问题,从SVN存储库检出。 这只发生在我的笔记本电脑上。但是,如果我远程桌面到其他机器上,我可以检查代码,浏览并提交。所以每当我有任何代码来检查,我必须将代码复制到远程计算机,并检查它在 我使用Windows 8 - 64位操作系统。 SVN版本信息: TortoiseSVN 1.8.2,Build 24708 - 64位,2013/08/27 19:20:39 Subversion 1.8.3,-release apr 1.4.8 apr-util 1.5.2 serf 1.3。 1 OpenSSL 1.0.1e 2013年2月11日 zlib 1.2.8 – MoG 2013-12-31 18:57:40

+0

http://*.com/questions/19328149/tortoise-svn-commit-failed-details-below-authorization-failed – MoG 2014-01-02 20:44:35

如果服务器使用svnserve来提供存储库(这意味着您使用的是svn:// URL),那么您应该检查存储库中的文件conf/svnserve.conf。默认配置允许匿名读取,但只能通过认证写访问IIRC。

这是授权失败。这意味着第一步,认证成功了。

所以:用户名/密码是正确的,并被您的服务器接受。但是那个用户不允许访问路径/资源。

检查您的基于路径的授权文件(conf/authz)并确保用户有权限。

另外,请仔细检查服务器上的实际存储库是否具有要由服务器进程(svnserve或Apache)写入的正确文件许可权。这可能是可以的,因为您可以通过其他方式创建存储库,但值得检查以防万一。

我与RapidSVN(或从CLI使用svn commit)完全相同的问题。这个问题原来,我被检查出使用匿名subversion连接(在svn://链接)回购:

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

但是使用这个链接,你可以不提交更改回购时。因此,解决办法是通过SSH使用svn+ssh://链接,允许开发者访问颠覆:

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

其它svn服务,正确的链接提交可能是https://。其实我对https://结账有更好的体验,所以先试试。

现在svn commit应该按预期工作。

(这是相同的解决方案作为一个到OP评论通过WUG建议。)

+0

如果你只是搞乱在你自己的本地设置上,想要配置一些可行的工作,但是可能会危险地打开写入权限,你可以将svnserve.conf中的一行从 '#anon-access = read'更改为'anon-access = write'( note ** anon ** - 访问,而不是** auth ** - 访问) – 2017-10-11 15:03:16

退房使用HTTP协议,而不是SVN协议文件。我遇到了与使用svn://协议检出文件相同的问题。后来我将协议更改为http://,一切正常。

我的经历与蓝碧子弟相似 我已经正确创建了一个新的存储库,但没有正确设置用户。这让我结帐,但没有提交

编辑repoLocation /conf/svnserve.conf,并取消对行

密码分贝= passwd的

编辑repoLocation/conf目录/ passwd文件并添加用户名和密码以passwd为例

tim = password

+0

只需注意:名称和密码对应设置在'repoLocation/conf/passwd',而不在'svnserve.conf'里面,因为用上面的这行代码告诉服务器查找那个文件。 – Endrik 2014-07-14 12:24:58

+0

谢谢,修正了 – 2014-07-18 14:11:00

如果您使用svnserve来提供SVN访问(即,您的资源库网址看起来像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" 
+0

哦,我笨!已添加-R我自己... – sschrass 2014-12-17 08:34:20

+0

您为我节省了几个小时!谢谢! – kissgyorgy 2015-05-27 14:38:14

+0

这是什么文件? – Louis 2017-02-15 12:47:52

对我而言,这是因为服务器迁移。 在svnserve.conf的,我忘了取消注释:

auth-access = write 
password-db = passwd 
+0

这是使用新存储库时最常见的错误。 – Agguro 2015-04-27 08:56:38