场景:二进制文件需要svn锁才能修改。要修改,首先锁定,修改文件,然后在提交时,使用“取消”按钮取消提交。由于某种原因,删除了包含锁定文件的整个文件夹(包括.svn文件夹)。
问题:我通过陆龟svn使用了“SVN更新”。所有文件都已更新。但之前锁定的文件并未表示锁定符号已锁定。不过,我修改了文件并尝试提交。
提交时出错:
Server sent unexpected return value (423 Locked) in response to PUT request for '/****/!svn/wrk/9f89b6b6-7932-9f45-82e8-fafbd5426290/trunk/***'
当我尝试使用“SVN Get Lock”再次获取锁定时,它显示失败:
尝试获取锁定时出错:
.`...is already locked by user 'kr***' in filesystem '/data/svn/dir/***/repos/***/db'`
我的感觉是,客户端的锁信息丢失但仍然存在于服务器端。
请建议出路。
版本信息:TortoiseSVN 1.6.8,Build 19260 - 32 Bit,2010/04/16 20:20:11
注意:使用*
屏蔽了少量路径和登录答案 0 :(得分:35)
根据Simon Large(TortoiseSVN的共同作者):
使用repo浏览器和上下文菜单中的“break lock”。
截图:
请注意,只有在项目实际上已锁定时才会显示此项目。在repo浏览器之外还有一个'Release lock ...'命令,如下所示:
答案 1 :(得分:26)
工作副本根目录上的清理为我解决了这个问题。 我也在做 SVN提交时做了取消。
答案 2 :(得分:2)
在终端中,
svn cleanup
会打破锁。
答案 3 :(得分:0)
有时回来我正在使用SVN,您可以进行新的结账,然后合并您对该文件的更改。合并后,您可以将文件提交给SVN。