当我尝试更新或提交项目中的代码时,它告诉我该文件夹已被锁定。当我试图“释放锁定”时,它表示在这个工作空间里无法解锁。
这是什么意思?为什么我无法更新,提交甚至清理项目。
答案 0 :(得分:158)
右键单击Subversion工作目录文件夹,然后从上下文菜单中选择 TortoiseSVN->清理。这将通过您的工作目录递归并清除任何未完成的操作,删除本地锁(这与使用Subversion锁定文件库中的文件不同,后者让每个人都知道锁)。
如果这不起作用,请查看您是否可以找到已更改但尚未提交但保存的文件的名称,并重做结帐。
答案 1 :(得分:14)
如果文件被您自己锁定(相同的svn帐户),您可以按照以下步骤操作:
右键单击锁定的文件或文件夹,然后选择 TortoiseSVN->获取锁定... ,并选中“ []窃取锁定“在对话框的左下角,单击”确定“。如果成功完成,那没关系。当您再次右键单击该文件时,您可以看到 TortoiseSVN->释放锁定... ,点击解锁。
答案 2 :(得分:12)
使用svn命令行解锁本地文件夹,只需使用svn cleanup
。
<强>之前:强>
# svn commit -m "fixing #1234"
# svn st
# svn cleanup
<强>后:强>
# svn st
# svn commit -m "fixing #1234"
答案 3 :(得分:10)
对于仍有此问题的人(错误:工作副本'{DIR}'已锁定。),我有您的解决方案:
我发现当其中一个TortoiseSVN窗口崩溃时,它会留下一个TSVNCache.exe,它仍然有一些处理你的工作副本,这会导致你看到的锁定问题(并且还会阻止Clean Up做它的工作)
所以要解决这个问题:
<强>要么强>
1a)使用Process Explorer或类似工具删除TSVNCache.exe所拥有的句柄
1b)..或者更简单,只需使用任务管理器杀死TSVNCache.exe
,然后强>
2)右键单击 - &gt; TortoiseSVN - &gt;清理。只需要检查“清理工作副本状态”。
从那里开始,快乐更新/提交。您可以通过执行SVN更新重现锁定行为,然后在更新完成之前快速终止它的TortoiseProc.exe进程。
答案 4 :(得分:5)
这是我第一次遇到这个问题。我甚至试图重启PC,没有效果。这解决了我的问题:
我的解决方案:
这对我有用。我能够提交更改。
答案 5 :(得分:3)
我有这个问题,我已经完成了以下步骤来解决它:
在父文件夹而不是子文件夹上执行此步骤!
它对我有用!
答案 6 :(得分:3)
要从当前由其他用户锁定的命令提示符解锁工作副本中的文件,请使用--force
选项。
$ svn unlock --force tree.jpg
答案 7 :(得分:1)
我正在将文件夹上移一级并进入另一个文件夹。我的错误是从父文件夹中移动。
错误的例子:
existsByNameAndUserId
SVN需要使用已删除的文件夹信息更新父目录 您必须从源文件夹和目标文件夹的公共根目录执行此操作,或使用完整路径。
很好的例子:
pwd -> C:\Repo\ParentDir\
svn move ./DirtoCopy ../AnotherDir
答案 8 :(得分:1)
我遇到了无法从客户端解锁文件的问题。我决定去比较简单的服务器端。
在SVN服务器上:
定位锁
svnadmin lslocks /root/of/repo
(in my case it was var/www/svn/[name of Company])
You can add a specific path to this by svnadmin lslocks /root/of/repo "path/to/file"
删除锁定
svnadmin rmlocks /root/of/repo “path/to/file”
就是这样!
答案 9 :(得分:0)
解决方案:
答案 10 :(得分:0)
除了David M的回答,还要做清理 - &gt;检查'破锁'选项。这将确保释放锁。然后做svn更新。这对我有用。
答案 11 :(得分:0)
解锁被阻止的文件: 1.右键单击 - &gt;锁 2.选中“窃取锁”复选框 2.解除锁定
答案 12 :(得分:0)
我在这个问题上进行了很多研究,但在我尝试这个问题之前,没有解决方案可以解决我的问题:
我的repo文件夹与Windows xp虚拟机共享,因此我从VM执行清理,然后从主机执行SVN UPDATE。
它对我有用。
哥斯达黎加的问候。
答案 13 :(得分:0)
我能够通过重命名文件夹以减小文件夹路径来解决此问题。
答案 14 :(得分:0)
我遇到了类似的问题,它告诉我某些文件已被 xx 锁定。但是xx说他有释放锁,在TortoiseSVN上找不到锁。
clean up
对我不起作用。我必须让他去TortoiseSVN -> Repo-browser
,找到相应的文件,然后右键单击这些文件并选择break lock
。
答案 15 :(得分:-1)
我在这些操作后遇到了这个问题:
我终于通过再次强制锁定来解决问题: TortoiseSVN - &gt;获取锁定 - &gt;检查&#34;偷锁&#34; 然后提交或释放锁。
答案 16 :(得分:-1)
我在尝试更新文件夹时让Tortoise损坏并崩溃后发生了这种情况。我最终重新安装了Tortoise,但鬼锁仍然存在。从那里我不得不删除该文件夹并进行新的结帐。很显然,我很幸运,当时我没有任何新的更改。无论如何,不是好消息,如果有人有更好的解决方案我会喜欢自己听。即使使用“Break Lock”,即使用force选项解锁也没有改变任何内容。
答案 17 :(得分:-1)
清理,勾选所有复选框=&gt;这项工作对我来说