文件夹被锁定,我无法解锁

时间:2012-04-04 20:42:14

标签: svn tortoisesvn

当我尝试更新或提交项目中的代码时,它告诉我该文件夹已被锁定。当我试图“释放锁定”时,它表示在这个工作空间里无法解锁。

这是什么意思?为什么我无法更新,提交甚至清理项目。

18 个答案:

答案 0 :(得分:158)

右键单击Subversion工作目录文件夹,然后从上下文菜单中选择 TortoiseSVN->清理。这将通过您的工作目录递归并清除任何未完成的操作,删除本地锁(这与使用Subversion锁定文件库中的文件不同,后者让每个人都知道锁)。

如果这不起作用,请查看您是否可以找到已更改但尚未提交但保存的文件的名称,并重做结帐。

答案 1 :(得分:14)

如果文件被您自己锁定(相同的svn帐户),您可以按照以下步骤操作:

右键单击锁定的文件或文件夹,然后选择 TortoiseSVN->获取锁定... ,并选中“ []窃取锁定“在对话框的左下角,单击”确定“。如果成功完成,那没关系。当您再次右键单击该文件时,您可以看到 TortoiseSVN->释放锁定... ,点击解锁。

答案 2 :(得分:12)

使用svn命令行解锁本地文件夹,只需使用svn cleanup

<强>之前:

# svn commit -m "fixing #1234"

commit

# svn st

before

# svn cleanup

<强>后:

# svn st

after

# svn commit -m "fixing #1234"

after2

答案 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,没有效果。这解决了我的问题:

我的解决方案:

  1. 在项目工作目录上右键单击
  2. 导航 TortoiseSVN
  3. 导航至清理
  4. 保留所有默认选项,然后选中 Break Locks
  5. 点击确定
  6. 这对我有用。我能够提交更改。

答案 5 :(得分:3)

我有这个问题,我已经完成了以下步骤来解决它:

  1. 转到父文件夹而不是子文件夹
  2. 选择SVN清理
  3. 点击“确定”。
  4. 在父文件夹而不是子文件夹上执行此步骤!

    它对我有用!

答案 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)

解决方案:

  1. 右键单击“项目工作目录”。
  2. 导航TortoiseSVN。
  3. 导航至清理。
  4. 选择清理工作副本状态(选中标记)
  5. 点击确定
  6. 重复步骤1和2,然后导航以释放锁定。
  7. 单击确定您的项目锁已打开。

答案 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)

我在这些操作后遇到了这个问题:

  1. 锁定文件夹
  2. 修改文件
  3. 删除文件和更新文件夹 - &gt;新文件下载
  4. 尝试提交或解除锁定
  5. 我终于通过再次强制锁定来解决问题: TortoiseSVN - &gt;获取锁定 - &gt;检查&#34;偷锁&#34; 然后提交或释放锁。

答案 16 :(得分:-1)

我在尝试更新文件夹时让Tortoise损坏并崩溃后发生了这种情况。我最终重新安装了Tortoise,但鬼锁仍然存在。从那里我不得不删除该文件夹并进行新的结帐。很显然,我很幸运,当时我没有任何新的更改。无论如何,不​​是好消息,如果有人有更好的解决方案我会喜欢自己听。即使使用“Break Lock”,即使用force选项解锁也没有改变任何内容。

答案 17 :(得分:-1)

清理,勾选所有复选框=&gt;这项工作对我来说