没有匹配的锁令牌

时间:2010-11-30 19:40:00

标签: svn

根据Subversion documentation

  提交完成后,

,svn   status显示锁定令牌为否   工作副本中存在的时间更长。   这是svn的标准行为   commit-it搜索工作副本   (或目标清单,如果您提供   这样的列表)用于本地修改   并发送所有锁定令牌   在这次散步中遭遇   服务器作为提交的一部分   交易。提交后   所有的成功完成   提到的存储库锁   即使在文件上也会发布   没有承诺。这是为了   劝阻用户不要马虎   关于锁定或握住锁   太久了。

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

svn: Cannot verify lock on path '/test/test'; no matching lock-token available

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

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

4 个答案:

答案 0 :(得分:13)

我遇到了同样的问题:

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

答案 1 :(得分:2)

我做了一点关于你的问题并找到了 this

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

如果不起作用,请查看here

答案 2 :(得分:2)

Ohh Man ..我搜索帖子到支柱。 对我来说问题是“不工作锁”,

右键单击 - >获取锁定 - >检查“偷锁”。 修改了文件,然后签入。 对我来说,暂时没有

答案 3 :(得分:0)

也许服务器上的存储库已损坏。使用服务器上的svnadmin转储存储库,将其加载到临时存储库中的其他计算机上,并尝试使用临时存储库执行相同的操作。

如果这样可以修复错误,请备份旧存储库并将其替换为temp repo。