Svn 没有匹配的锁令牌

Svn 没有匹配的锁令牌,svn,Svn,根据报告: 提交完成后,svn 状态显示锁令牌为否 工作副本中不再存在。 这是svn的标准行为 提交它搜索工作副本 (或目标列表,如果您提供 此类列表)用于局部修改 并将所有锁令牌发送给它 在这段步行到 服务器作为提交的一部分 交易犯罪后 成功完成后,所有 提到的存储库锁 即使在 我们没有承诺。这是为了 阻止用户草率行事 关于锁或从持有锁开始 太久了 为了确保此功能正常工作,我在尝试提交工作副本中有锁的文件更改时不断收到以下消息: svn:无法验证路径'/test/test'上的锁;没有匹配的锁

根据报告:

提交完成后,svn 状态显示锁令牌为否 工作副本中不再存在。 这是svn的标准行为 提交它搜索工作副本 (或目标列表,如果您提供 此类列表)用于局部修改 并将所有锁令牌发送给它 在这段步行到 服务器作为提交的一部分 交易犯罪后 成功完成后,所有 提到的存储库锁 即使在 我们没有承诺。这是为了 阻止用户草率行事 关于锁或从持有锁开始 太久了

为了确保此功能正常工作,我在尝试提交工作副本中有锁的文件更改时不断收到以下消息:

svn:无法验证路径'/test/test'上的锁;没有匹配的锁令牌可用

现在,我已经在Windows上的两个不同的工作副本中测试了这个场景,在RHEL上测试了一次,每次都得到了相同的错误,都是新签出,并且文件上没有先前的锁。如果我解锁文件,然后提交,没有问题,会发生提交。如果使用svn:needs lock属性,则在解锁文件之前尝试提交时会出现相同的错误


我很确定这个错误不是发生在客户端,而是发生在服务器端。我认为可能是客户端没有将本地授权令牌传递回Subversion服务器。但是,我已经在三个不同的客户端(2 CLI和Subclipse)上尝试了这一点。因为它在三个不同的客户机上失败,我感觉客户机正在将本地授权令牌传递回服务器。所以我很确定服务器是我需要解决这个问题的地方,但是在哪里呢?

好吧,我仔细看了一下你的问题,发现

它说要做的是检查文件是否为只读,如果是,SVN认为文件已锁定,并且没有匹配的锁定令牌可用(因为它实际上未锁定)。 因此,如果它们是只读的,请尝试将它们设置为可写


如果不起作用,请查看。

可能是服务器上的存储库已损坏。在服务器上使用
svnadmin
转储存储库,将其加载到临时存储库中的其他计算机上,然后对临时存储库尝试相同的操作


如果修复了错误,请备份旧存储库,并将其替换为临时repo。

我也遇到了同样的问题:

svn: E160037: Commit failed (details follow):
svn: E160037: Cannot verify lock on path '/QHG3/trunk/kernel/Activator.cpp'; no matching lock-token available
我可以通过“偷”锁来解决这个问题:

svn lock --force AltMoverPop.cpp

哦,伙计。。我从一根柱子到另一根柱子。 对我来说,问题是“锁不工作,”

右键单击-->获取锁-->选中“偷锁”。 修改了文件,并签入。
为我做的,暂时

谢谢,我在自己的研究中发现了同样的链接。很抱歉,当发生提交并且在存在锁的情况下工作副本尚未销毁和重新创建时,文件未设置为只读。我打赌问题不在客户端,正如您提供的两个链接所建议的那样,而是在服务器端。我使用svnadmin verify进行了检查,它基本上是一个没有输出的svnadmin转储。存储库是健全的。我们也有多个回购协议,所有回购协议的行为都是一样的。谢谢您是否检查了服务器上的磁盘空间?文件权限如何?我仍然建议在另一台机器上加载回购协议(你可以在你的客户机上这样做)。如果可以的话,你会知道多一点。磁盘空间没问题。文件权限有问题,因为我并没有设置这个服务器,而那个些设置过的人,真的不知道Subversion。我正在修复很多小东西,所以权限是可能的,但无法验证,因为服务器已完全锁定。基本上,我没有chown权限。我会在另一台机器上加载repo并对其进行测试,但他们没有足够大的资源来尝试,更不用说在不添加额外资源的情况下有足够的磁盘空间来完成转储了,这在一段时间内是不会发生的。在这种情况下,获取Subversion的源代码并搜索错误消息。这可能会为您提供触发错误的条件的线索;回声“foo”>>测试/测试;svn ci-m“持有锁时签入”test/test失败?在Unix和Windows上(对平台进行了一些修改),该命令失败,出现“svn:cannotverifylock On path”/test/test”;两个系统上都没有匹配的锁令牌。你们都在使用哪个版本的Subversion?我相信在发表这篇文章的时候,我使用的是Subversion 1.6.x,如果这有帮助的话。与一个远程团队一起工作,并且遇到了这个问题。偷锁对我来说很有效。这应该是公认的答案,不需要客户端,只是一个简单的命令!