提交时乌龟svn中的工作副本锁定错误

时间:2012-08-01 17:09:05

标签: svn tortoisesvn

每当我对工作副本进行更改时,我都会使用Tortoise SVN更新并提交服务器中存储库的更改。但是几天后我无法提交更改,每当我尝试提交时都会收到以下错误。

Working copy 'C:\Program Files\EasyPHP\www\project\php' locked.
'C:\Program Files\EasyPHP\www\project' is already locked.

我试图通过右键单击并选择 Tortoise SVN>来解锁文件夹。解锁,它说

  

没有什么可以解锁的。此工作副本中没有文件锁定

可能是什么问题?

10 个答案:

答案 0 :(得分:226)

没问题......试试这个:

  • 转到顶级SVN文件夹。
  • 右键单击文件夹(包含您的svn文件)> TortoiseSVN>的清理

这肯定会解决您的问题。我做了很多时间...... :)

请注意。确保在“清理”对话框中选择“中断锁定”选项。

答案 1 :(得分:14)

接受的答案对我不起作用。要解决该问题,我必须右键单击已锁定的文件,然后选择repo-browser。这打开了SVN服务器上的文件弹出窗口。然后我右键单击锁定的文件并选择break lock

当我关闭存储库浏览器时,回到资源管理器上,我终于可以提交了!

答案 2 :(得分:11)

  1. 右键单击文件夹。
  2. TortoiseSVN->检查修改。
  3. 单击Check repository按钮。
  4. 在所有返回的文件上中断

答案 3 :(得分:3)

我也遇到了这个问题。对于一些人,我想指出,如果它被锁定检查你的团队。团队中的某些人可能会因为他们正在处理某些事情而被锁定(这允许开发人员在没有其他人进入并尝试处理相同内容的情况下完成工作)。如果是这种情况,则释放锁定然后更新可能会丢失锁定它的开发人员的数据。

考虑到这一点,我担心的是"清理"选项可能会更改我的工作副本或从Subversion的Repo级别中删除信息。事实并非如此。答案对我有用。当我在更新过程中点击取消时,我被锁定了。我最后拉了一些分支,我不需要这些东西,所以我点击取消。我的工作副本被锁定了。我找不到任何出现的文件"锁定"当我使用命令'释放锁定'。这让我感到困惑,经过一些快速阅读(和这个主题)我试图清理'命令。清理后它解决了我的问题,没有任何东西被锁定了。

来源:http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html

答案 4 :(得分:2)

SVN中存在多种“锁定”含义,其中一些谈论“破门锁”或持有锁定的队友没有使用原始问题的相关含义。这个问题涉及“工作副本锁”(即它们完全是您计算机上工作副本的本地副本,与您或持有文件锁定/签出的队友无关)。 MicroEyes接受的答案是指正确的用法,并且在发生这种情况时是您的最佳选择。

如果清理不起作用,您可能需要查看项目的新工作副本。如果您有任何已修改的,未提交的文件,则需要将它们复制到新的工作副本中,这样您就不会丢失更改。

请参阅Tortoise SVN文档中的此页面,了解“锁定”的三种用法:http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html

摘录(强调补充):

  

“锁定”的三个含义

     

在本节中,本书几乎无处不在,“锁定”   并且“锁定”描述了用户之间互斥的机制   避免冲突提交。不幸的是,还有其他两种   “锁定”Subversion,因此本书有时需要   值得关注。

     

第二个是工作副本锁,由Subversion内部使用   防止在操作上的多个Subversion客户端之间发生冲突   同样的工作副本。通常你会像命令一样得到这些锁   update / commit / ...由于错误而中断。这些锁可以   通过在工作副本上运行cleanup命令来删除   在“清理”一节中描述。​​

     

...

答案 5 :(得分:2)

我不知道什么文件有锁,所以我做的就是解决这个问题:

  1. 去了最高级别的文件夹
  2. 点击清理,并从清理方法中选择 - >中断锁
  3. 这对我有用。

答案 6 :(得分:1)

我尝试了各种各样的东西,包括在子目录下的“清理”。最后,我尝试更新顶级文件夹。没有。然后我阅读了“清理顶级”提示。我试过了。清理部分成功,但锁定仍然存在。我的解决方案是返回顶层,清理,然后清理我可以深入到的每个红色(!)文件夹。毕竟是“清理”,更新工作完美。 “破解锁定”提示看起来也不错,但您团队中的某个人可能对某些事情有合法锁定。

答案 7 :(得分:0)

我设法将自己锁定在svn中的文件中 - 不知道如何 - 但是当我尝试(重新) - 锁定时(Tortoise正在显示" Get Lock"选项为该文件),它抱怨说已经锁定了。我尝试删除文件并提交目录更改 - 结果相同。我尝试过CleanUp(包括刷新叠加层),但也失败了。

解决方案是进入Tortoise repo-browser,找到文件并使用 break lock 功能。

答案 8 :(得分:0)

如果此(https://stackoverflow.com/a/11764922/3045875)无效,请执行以下操作:检查是否有其他SVN工具干扰并关闭该工具。 在使用TortoiseSVN进行合并时,我们仅花费了几个小时的时间,却遇到了数十种此类锁定错误。最终,我们发现Matlabs SVN集成会产生干扰,并且在关闭后一切都可以解决。

答案 9 :(得分:-1)

Windows解决方案:

https://sourceforge.net/projects/win32svn/

1.下载,然后将其添加到系统路径。

2.前往工作目录执行" svn clean"和" svn update"在cmd。