【发布时间】:2015-03-28 03:12:23
【问题描述】:
提交完成后,svn status 显示锁定令牌为否 更长的时间出现在工作副本中。 这是 svn 的标准行为 提交——它搜索工作副本 (或目标列表,如果您提供 这样的列表)用于本地修改 并将所有锁定令牌发送给它 在这次步行到 服务器作为提交的一部分 交易。提交后 顺利完成,所有的 提到的存储库锁 被释放——即使是在那些 没有承诺。这是为了 劝阻用户不要马虎 关于锁定或持有锁 太久了。
在尝试确保此功能正常工作时,我在尝试提交已锁定在我的工作副本中的文件更改时不断收到此消息:
svn: Cannot verify lock on path '/test/test'; no matching lock-token available
现在,我已经在 Windows 上的两个不同工作副本中测试了这个场景,在 RHEL 上测试了一次,每次都出现相同的错误,重新签出并且没有事先锁定文件。如果我解锁文件然后提交,没问题,提交就会发生。如果我使用 svn:needs-lock 属性,如果在解锁文件之前尝试提交,则会出现同样的错误。
我很确定错误不是发生在客户端,而是发生在服务器端。我认为可能是客户端没有将本地授权令牌传递回 Subversion 服务器。但是,我已经用三个不同的客户端(2 CLI 和 Subclipse)进行了尝试。因为它在三个不同的客户端上失败了,所以我觉得客户端正在将本地授权令牌传递回服务器。所以我很确定服务器是我需要解决这个问题的地方,但是在哪里呢?
【问题讨论】:
-
澄清一下,
svn lock test/test ; echo "foo" >> test/test ; svn ci -m 'check-in while holding lock' test/test失败了? -
在 Unix 和 Windows 上(对平台进行了一些修改),该命令失败并显示 'svn: Cannot verify lock on path '/test/test';两个系统上都没有可用的匹配锁定令牌。
标签: svn