如何递归地释放Subversion中的锁?

vik*_*tra 50 svn version-control locking

我在Subversion中遇到版本控制问题.我从存储库检查了一个工作副本,并锁定了它的所有文件.然后,在没有释放锁的情况下,我从磁盘中删除了该文件夹.

  • 我无法从存储库中删除该文件夹,因为它已获得锁定
  • 如果我尝试以递归方式释放锁,则表示没有锁被释放.
  • 在"浏览存储库"视图中,我只能在特定情况下打破锁定,而不是递归地打破文件夹.

如何打破驻留在存储库中的锁?我在Windows上使用TortoiseSVN.是否有一个命令来递归锁定文件夹的锁?

vik*_*tra 57

好,我知道了.这对我有用.

  • 查看工作副本
  • 然后进入Windows资源管理器菜单,TortoiseSVN - >检查修改...
  • 单击Check repository按钮
  • 选择所有文件,右键单击并选择中断锁定选项
  • 删除工作副本和存储库中的副本.瞧!:)

  • 这对我有用 - 我能够打破别人的锁定. (3认同)

小智 35

执行SVN清理也将释放锁定:

$ svn cleanup
Run Code Online (Sandbox Code Playgroud)


Von*_*onC 18

提前锁定部分

$ svn status -u
M              23   bar.c
M    O         32   raisin.jpg
       *       72   foo.h
Status against revision:     105
$ svn unlock raisin.jpg
svn: 'raisin.jpg' is not locked in this working copy
Run Code Online (Sandbox Code Playgroud)

这只是意味着文件没有锁定在您当前的工作目录中,但如果它仍然锁定在存储库级别,您可以强制解锁("打破锁定")

$ svn unlock http://svn.example.com/repos/project/raisin.jpg
svn: Unlock request failed: 403 Forbidden (http://svn.example.com)
$ svn unlock --force http://svn.example.com/repos/project/raisin.jpg
'raisin.jpg' unlocked.
Run Code Online (Sandbox Code Playgroud)

(这是你通过TortoiseSVN GUI做的)


小智 6

如果其他人远程锁定了文件,我发现使用TortoiseSVN 1.7.11执行以下操作已成功解锁了我的工作副本.(类似于vikkun的回答)

  • 右键单击工作副本>检查修改
  • 单击检查存储库按钮
  • 选择要解锁的文件
  • 右键单击>获取锁定
  • 选中"窃取锁定"复选框
  • 锁定被盗后,再次选择
  • 右键单击>释放锁定

现在应该解锁工作副本中的文件.