当我做svn更新时,我得到这个错误:
工作副本XXXXXXXX锁定请 执行“清理”命令
当我清理的时候,我得到
处理失败 以下路径:XXXXXXXX
我怎样才能跳出这个循环呢?
当我做svn更新时,我得到这个错误:
工作副本XXXXXXXX锁定请 执行“清理”命令
当我清理的时候,我得到
处理失败 以下路径:XXXXXXXX
我怎样才能跳出这个循环呢?
当前回答
SVN通常在从存储库获取实际文件之前更新文件夹中文件的内部结构(. SVN /prop-base)。一旦获取文件,这将被清除。在更新过程中,由于“更新”失败或过早取消,通常会抛出错误。
检查.svn/prop-base目录下列出的文件 删除任何不在文件夹下的文件 清理 更新
现在更新应该可以工作了。
其他回答
对我来说,这其实是乌龟的错。Tortoise只是抱怨“不能清理,运行清理”,但是当我运行命令行(svn cleanup)时,它清楚地告诉我它不能删除一些正在使用的文件,解决方案是显而易见的。一旦我关闭Visual Studio(它保持文件打开),那么清理工作就很好了。
其他程序也可以在repo中保持文件打开,从而导致此问题。在另一个例子中,Excel保持xls打开是罪魁祸首,所以关闭所有可能在repo中使用任何东西的程序,甚至重新启动以强制程序关闭,然后再次尝试清理,这可能是明智的。
首先尝试了许多解决方案,然后我只是删除了我有问题的文件夹。
然后执行SVN Update。
这对我很管用。
我不推荐这种方法,但除了这种方法,其他方法都不起作用。:(
一种方法是:
将编辑过的项目复制到另一个位置。 删除包含问题路径的文件夹。 通过Subversion更新包含的文件夹。 复制文件或根据需要合并更改。 提交
另一种选择是删除顶级文件夹并再次签出。希望不会发展到那种地步。
我在TortoiseSVN下有这个错误与我在新项目下创建的新目录有关。我刚刚创建了这个项目,所以这个目录之前不可能存在。我在存储库浏览器中查看,新文件夹确实已经在存储库中,但是TortoiseSVN没有显示它已提交。
为了解决这个问题,因为我刚刚创建了这个文件夹,所以我在存储库中删除了它,然后进行了提交。它运行得很好。
因为我是在Visual Studio之外完成的,所以我必须重新启动Visual Studio,让它重新解决所有问题。
查看您的.svn文件夹,其中将有一个名为lock的文件。删除该文件,您将能够更新。每个子目录的.svn目录下可能存在较多的锁文件。它们也需要删除。这可以作为批处理从命令行非常简单地完成,例如。
find . -name 'lock' -exec rm -v {} \;
注意,您正在手动编辑.svn文件夹中的文件。他们被放在那里是有原因的。这个理由可能是错误的,但如果不是的话,你可能会破坏你的本地副本。
来源:http://www.svnforum.org/2017/viewtopic.php?p=6068