没有匹配的锁定令牌
按照Subversion documentation:没有匹配的锁定令牌
提交完成后,使用svn 状态显示锁定令牌没有 工作副本不再存在。 这是SVN 的标准行为犯,它搜索的工作拷贝 (目标或列表,如果你提供 这样的列表)的本地修改 ,并在此步行到 发送所有锁定令牌它 遭遇服务器作为提交 事务的一部分。提交 成功完成后,所有提到的 存储库锁都被释放 - 即使在未提交的文件上也是如此。这意味着 阻止用户徘徊 关于锁定或从持有锁 太长。
在努力确保这一功能的作品,我不断地在尝试提交已在我的工作拷贝锁的文件更改时,此消息:
svn: Cannot verify lock on path '/test/test'; no matching lock-token available
现在,我已经测试过这种情况在Windows上有两个不同的工作副本,并且在RHEL上有一次,并且每次都有一个新的检出并且没有事先锁定文件的错误。如果我解锁文件,然后提交,没有问题,提交发生。如果我使用svn:needs-lock属性,则在解锁文件之前尝试提交时出现相同的错误。
我敢肯定,错误不是在客户端发生,而是在服务器端发生。我认为这可能是客户端没有将本地授权令牌传递回Subversion服务器。但是,我已经尝试过三种不同的客户端(2 CLI和Subclipse)。因为它失败了三个不同的客户端,我感觉客户端将本地授权令牌传回服务器。所以我很确定服务器是我需要解决这个问题的地方,但是哪里?
嗯,我做了一些四处看看你的问题,发现 this。
它说要做的是检查文件是否只读,如果它们是,SVN认为文件被锁定并且没有匹配的锁定令牌将永远不可用(因为它实际上没有锁定)。 因此,如果它们是只读的,请尝试将它们设置为可写。
如果这不起作用,请看一下here。
谢谢,我在自己的研究中发现了与此问题相同的链接。很抱歉,当提交发生时,文件未设置为只读,并且存在锁定时工作副本尚未销毁并重新创建。我敢打赌,这个问题不在客户端,因为您提供的两个链接建议,而是在服务器端。 – jgifford25 2010-12-06 14:42:01
第一个链接现在已经失效 – Royce 2012-05-17 23:00:37
也许服务器上的存储库被损坏。在服务器上使用svnadmin
转储存储库,将其加载到临时存储库中的另一台计算机上,并尝试使用临时存储库执行相同的操作。
如果修复了错误,请备份旧的存储库并将其替换为临时存储库。
我有同样的问题:
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
喔人..我搜索发布到支柱。 对我来说问题是相同的“不工作锁”,
右键单击 - >获取锁 - >检查“偷窃锁”。 修改了这个文件,并签入了。 对我来说,暂时是这样吧
只是为了澄清`svn lock test/test; echo“foo”>> test/test; svn ci -m'签入锁定'test/test`时失败? – tobyodavies 2010-12-09 00:20:51
在Unix和Windows上(对平台进行了一些修改),该命令失败,'svn:无法验证路径上的锁'/ test/test';在两个系统上都没有可用的匹配锁定令牌。 – jgifford25 2010-12-09 14:32:12