3

我们最近从 CVS 迁移到了 Subversion 1.6。我们使用原生 Eclipse CVS 支持作为我们的 CVS 客户端。我们现在使用 Subclipse 插件作为我们的 SVN 客户端。

如果文件未配置“svn:needs-lock”,我发现在 Subcise 中查看锁定文件时会出现问题。

如果文件有“svn:needs-lock”,那么导航器窗格会清楚地显示您是否有锁或文件图标中没有锁。如果文件没有“svn:needs-lock”,则导航器窗格显示锁定和解锁文件的相同图标。

有谁知道改变这种情况的方法(在 Subclipse 中或使用新插件?)

4

2 回答 2

1

本地锁定

这个对我有用。我刚刚使用 Subversion 1.6.2(服务器)、Subclipse 1.6.5 客户端和 eclipse 3.5.1 对其进行了测试。

我使用右键单击 -> 团队 -> 锁定... 创建锁定后,文件上的覆盖图标从黄色圆柱变为内部带有白色复选标记的黑色正方形。我重新启动了 eclipse 并验证该文件仍被标记为锁定。

该文件没有设置svn:need-lock 属性,并且在请求锁定之前该文件不是只读的。

远程锁定

如果您想查看被其他用户锁定的文件,那么您不应该期望在您的环境中出现该锁的可见指示,因为 Subclipse 必须轮询服务器才能发现锁。您可以通过多种方式发现远程锁。

  • 从 SVN 存储库视图中,您可以查看存储库中文件的属性并查看任何未完成的锁定。(右键单击-> 属性)。
  • 尝试提交对锁定文件的更改将失败。
  • 尝试锁定锁定的文件将失败。

希望这可以帮助。

于 2010-02-24T07:25:43.357 回答
0

根据Issue 2306svn lock theFile即使该svn:needs-lock属性不存在,也应删除只读属性。

如果您的 WC 有一个带有svn:needs-lock属性集的文件,然后您将 WC 切换到该文件没有该属性的分支。该属性已在 WC 中删除,但只读属性并未从文件中删除。

这会导致 Subclipse 和 TortoiseSVN 出现问题,因为我们都基于只读属性装饰文件。对于 Subclipse,只读属性的存在导致 Eclipse 向用户呈现 Subclipse Lock UI——这是一件好事。然而,我们随后依靠 svn lock 命令来删除只读属性,在这种情况下它没有这样做。如果它可以做到这一点,那将是一个很好的故障保险。

于 2010-02-11T05:06:14.923 回答