当我做svn更新时,我得到这个错误:
工作副本XXXXXXXX锁定请 执行“清理”命令
当我清理的时候,我得到
处理失败 以下路径:XXXXXXXX
我怎样才能跳出这个循环呢?
当我做svn更新时,我得到这个错误:
工作副本XXXXXXXX锁定请 执行“清理”命令
当我清理的时候,我得到
处理失败 以下路径:XXXXXXXX
我怎样才能跳出这个循环呢?
当前回答
SVN通常在从存储库获取实际文件之前更新文件夹中文件的内部结构(. SVN /prop-base)。一旦获取文件,这将被清除。在更新过程中,由于“更新”失败或过早取消,通常会抛出错误。
检查.svn/prop-base目录下列出的文件 删除任何不在文件夹下的文件 清理 更新
现在更新应该可以工作了。
其他回答
SVN通常在从存储库获取实际文件之前更新文件夹中文件的内部结构(. SVN /prop-base)。一旦获取文件,这将被清除。在更新过程中,由于“更新”失败或过早取消,通常会抛出错误。
检查.svn/prop-base目录下列出的文件 删除任何不在文件夹下的文件 清理 更新
现在更新应该可以工作了。
最简单的方法是显示隐藏文件夹,然后打开. svn文件夹。您应该看到一个名为“lock”的零KB文件,删除它将解决这个问题
对我来说,问题是完全满磁盘驱动器(linux inodes在我的情况下),当我删除一些文件夹,它又开始工作了。
错误如下(任何svn动作):
$ svn cleanup
svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
svn: E155004: Working copy locked; try running 'svn cleanup' on the root of the working copy ('/my/directory') instead.
svn: E155004: Working copy '/my/directory' locked
svn: E200030: sqlite[S14]: unable to open database file
svn: E200030: Additional errors:
svn: E200030: sqlite[S14]: unable to open database file
在对项目结构进行更改时,首先可以通过使用svn copy和svn move etc命令来避免这类问题。请记住,svn只检查已经添加到subversion的文件中的更改,而不检查物理目录结构的更改。请参阅http://svnbook.red-bean.com/en/1.7/svn.tour.cycle.html
此外,在提交更改时,svn首先在todo列表中存储更改的“摘要”。在执行此todo列表中的svn操作时,它会锁定该文件,以防止在执行这些svn操作时发生其他更改。如果svn的操作中途中断,比如崩溃,文件将保持锁定状态,直到svn完成todo列表中的操作。可以使用svn cleanup命令“重新激活”。请参阅http://svnbook.red-bean.com/en/1.7/svn.tour.cleanup.html
我遇到了这样的问题,“清理”工作,但“更新”将继续失败。有效的解决方案是通过Windows资源管理器删除有问题的文件夹,而不是TortoiseSVN的删除(这将删除标记为提交到存储库的内容,然后我做了一个“签出”,从存储库中“更新”文件夹。
关于O/S删除和SVN删除之间区别的更多信息: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html
值得注意的是:
当你TortoiseSVN→Delete一个文件时,它会立即从你的工作副本中删除,并在下次提交时在存储库中标记为删除。
And:
如果一个文件是通过资源管理器而不是使用TortoiseSVN上下文菜单删除的,提交对话框会显示这些文件,并允许你在提交之前从版本控制中删除它们。但是,如果您更新了工作副本,Subversion将发现丢失的文件并用存储库中的最新版本替换它。