提交完成后,,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)。因为它失败了三个不同的客户端,我觉得客户端正在将本地授权令牌传递回服务器。所以我很确定服务器是我需要解决的地方,但在哪里?
答案 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。