工作副本在提交时locking了龟svn的错误

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

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

我试图通过右键单击解锁文件夹,并select龟SVN>释放锁 ,它说

没有什么可以解锁的。 这个工作副本中没有文件locking

可能是什么问题?

没问题…试试这个:

  • 转到顶级SVN文件夹。
  • 右键点击文件夹(有你的svn文件)> TortoiseSVN> CleanUp

这一定会解决你的问题。 我做了很多时间… 🙂

注意。 确保在“清理”对话框中select了“中断locking”选项。

接受的答案不适合我。 要解决这个问题,我必须右键单击被locking的文件,selectrepo-browser 。 这与SVN服务器上的文件一样打开了一个popup窗口。 然后,我右键单击locking的文件并selectbreak lock

当我closures资源库浏览器时,回到资源pipe理器,我终于可以提交了!

  1. 右键点击文件夹。
  2. TortoiseSVN->检查修改。
  3. 点击检查存储库button。
  4. 打破所有返回文件的locking

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

考虑到这一点,我担心“清理”选项可能会改变我的工作副本或从Subpo的Repo级别中删除信息。 事实并非如此。 答案为我工作。 当我在更新中点击取消时,我的锁被locking了。 我结束了拉我们的一些分支,我不需要的东西,所以我打取消。 我的工作副本被locking。 当我使用“释放locking”命令时,找不到任何“locking”的文档。 这让我感到困惑,并在一些快速阅读(和这个线程)我试图“清理”命令。 清理后,解决了我的问题,没有任何东西被locking了。

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

在SVN中有“锁”的多重含义,其中一些谈到“破解锁”或者一个持有锁的队友的答案并没有使用原问题的相关含义。 这个问题正在处理“工作副本锁”(即他们完全是在你的计算机上的工作副本本地化,并与你或队友locking/检查文件无关)。 MicroEyes公认的答案是指正确的用法,并在发生这种情况时是您的最佳select。

如果清理不起作用,您可能需要检出一个新的工程副本。 如果您有任何修改,未提交的文件,您将需要将它们复制到新的工作副本,所以您不会失去您的更改。

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

摘录(强调添加):

“锁”的三义

在这一部分,本书的几乎所有地方,“locking”和“locking”这两个词描述了用户之间相互排斥的机制,以避免提交冲突。 不幸的是,Subversion还有另外两种“locking”,因此这本书有时需要关注。

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

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

  1. 去了最高级别的文件夹
  2. 点击清理,并从清理方法中打勾 – >打破locking

这对我有效。

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

我设法将自己locking在svn中的一个文件中 – 不知道怎么做 – 但是当我尝试(重新) – 获取锁(龟龟显示文件的“Get Lock”选项)时,它抱怨说已经有了锁。 我试图删除文件,并提交目录更改 – 相同的结果。 我尝试了清理(包括刷新覆盖),但也失败了。

解决的办法是进入乌龟回购浏览器,find该文件,并使用中断lockingfunction。

Windows解决scheme:

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

1.下载它,然后将其添加到系统path。

2.进入工作目录在cmd中执行“svn clean”和“svn update”。