2012-07-18 95 views
4

我的工作副本被锁定并搜索关于它的解决方案,并且发现一个说.lock文件应该被移除。但问题是在我的文件夹中没有创建.lock文件。如何解决这个问题。请帮忙。谢谢。SVN错误“工作副本xxx被锁定”并且没有.lock文件

+0

你看过'.svn'目录吗? – zerkms 2012-07-18 03:06:51

+0

是的。并且那里没有锁文件。 – Mary 2012-07-18 03:09:10

回答

5

默认情况下,SVN使用隐藏目录.svn或_svn。在采用修补这些文件夹之前:

通常情况下,您可以做的最好的事情是启动一份TortoiseSVN(http://tortoisesvn.net/)并将其挂载到您的存储库和工作目录。乌龟钩入资源管理器,因此它可以让您更全面地了解您的工作文件夹结构。尝试解决文件/文件夹中的解锁命令。如果这样做,(或不)对后面的问题项目(1个文件夹级别更高)的父文件夹进行“清理”,然后再次尝试所需的操作。

如果您使用的是Ankh或类似的VS插件,这些类型的锁定问题可能相当普遍,并且很烦人。 :)

+1

我正在使用TortoiseSVN并在命令提示符下进行清理。然后我更新我的工作副本,它运行良好。感谢您的帮助。 – Mary 2012-07-18 05:49:41

1

SVN是一个奇妙的工具,但有可用性问题时,事情没有得到签出或承诺完全和很好。其状态信息存储在服务器和客户端上。关于它的奇妙之处在于服务器永远不会被搞砸,并且它永远不会与原始源文件混杂在一起。

这么说,我为你的

  1. 当你有客户端的问题,dont坐和研究和调试SVN第2点的建议。这是浪费时间和精力。知道你的数据不会丢失,你的服务器只是wow :)。
  2. 在不同的位置签出您的项目。从旧位置将所有文件复制到新位置(使用meld,araxis合并或超越比较)并提交。

注意:不要将目录从旧位置复制到新位置。正如@Steve Py正确指出的那样,目录包含.svn文件夹,并保存该签出项目的特定实例的状态信息。如果必须,请在新位置创建新目录并仅复制文件。

提示:当您使用目录比较工具时,其更改(从右到左或从左到右)不可逆。一旦你按下了这个按钮,你就被搞砸了:)。所以那个我正在谈论的旧位置,支持它:)。

+0

哇!谢谢你的建议! :) – Mary 2012-07-18 05:47:45

+0

随时upvote也请.. – Siddharth 2012-07-18 06:50:15

+0

当然,我会投票当我得到足够的声誉这样做.. – Mary 2012-07-30 07:16:59

0

如果你也有错误“源码:尝试写入只读数据库”与“工作副本XXX锁定”的错误,那么它看来,它也可以通过权限不足以写入引起工作副本。我已经探索过这个问题here。修复权限解决了问题。

令人沮丧的是,对于这样一个简单的问题,没有给出更合适的错误!