我在一个工作文件夹中有很多更改,在尝试进行更新时出错了。

现在当我发出'svn cleanup'时,我得到:

>svn cleanup .
svn: In directory '.'
svn: Error processing command 'modify-wcprop' in '.'
svn: 'MemPoolTests.cpp' is not under version control

MemPoolTests.cpp是另一个开发人员添加的新文件,在更新中被删除了。以前我的工作文件夹里不存在。

我能做些什么来尝试并继续前进,而不必签出存储库的新副本吗?

澄清:感谢您提出的关于将目录移出并删除一个新副本的建议。我知道这是一个选项,但这是我想避免的,因为有许多更改嵌套在几个目录深处(这应该是一个分支…)

我希望有一种更积极的方式来做清理,也许以某种方式迫使文件SVN有麻烦回到一个已知的状态(我尝试删除它的工作副本…这并没有帮助)。


当前回答

我也有同样的问题。我不能承诺,清理工作就会失败。

使用命令行客户端,我能够看到一条错误消息,表明它无法将文件从.svn/props移动到.svn/prop-base。

我查看了特定的文件,发现它被标记为只读。删除只读属性后,我能够清理文件夹并提交我的更改。

其他回答

当一切都不能重新开始的时候……

我删除了.svn目录中的日志文件(我还删除了.svn/props-base中有问题的文件),进行了清理,并恢复了更新。

我也有同样的问题。对我来说,原因是与EasySVN和(TortoiseSVN或SVN)的冲突。我有自动更新和提交与EasySVN(这是不工作)。

当我关闭此功能时,我无法清理、提交或更新。上面的解决方案都没用,但是重新启动可以:)

$ ls -la .svn
$ rm -f .svn/lock

然后

$ svn update

希望能有所帮助

看一看

http://www.anujvarma.com/svn-cleanup-failedprevious-operation-has-not-finished-run-cleanup-if-it-was-interrupted/

以上链接修复的总结(感谢Anuj Varma)

Install sqlite command-line shell (sqlite-tools-win32) from http://www.sqlite.org/download.html sqlite3 .svn/wc.db "select * from work_queue" The SELECT should show you your offending folder/file as part of the work queue. What you need to do is delete this item from the work queue. sqlite3 .svn/wc.db "delete from work_queue" That’s it. Now, you can run cleanup again – and it should work. Or you can proceed directly to the task you were doing before being prompted to run cleanup (adding a new file etc.)

我也有同样的问题。我不能承诺,清理工作就会失败。

使用命令行客户端,我能够看到一条错误消息,表明它无法将文件从.svn/props移动到.svn/prop-base。

我查看了特定的文件,发现它被标记为只读。删除只读属性后,我能够清理文件夹并提交我的更改。