Svn 乌龟VN不允许我添加任何文件

Svn 乌龟VN不允许我添加任何文件,svn,tortoisesvn,Svn,Tortoisesvn,我正在尝试使用OrtoiseSVN 1.8.1将文件添加到SVN存储库。我右键单击这些文件,然后选择OrtoiseSVN->Add。然后在弹出的窗口中选择所有文件并单击OK。单击“确定”后,会弹出另一个对话框,显示所有文件都已成功添加,因为它会在每个文件旁边显示“已添加”,最后显示“已完成”!在底部。我单击OK,然后右键单击父目录并单击Commit。我填写消息框,确保我添加的所有文件都已选中,并且它们都表示已在状态下添加。最后,我单击OK。弹出一个框,通常是这样的,说明您尚未输入问题编号,我单击

我正在尝试使用OrtoiseSVN 1.8.1将文件添加到SVN存储库。我右键单击这些文件,然后选择OrtoiseSVN->Add。然后在弹出的窗口中选择所有文件并单击OK。单击“确定”后,会弹出另一个对话框,显示所有文件都已成功添加,因为它会在每个文件旁边显示“已添加”,最后显示“已完成”!在底部。我单击OK,然后右键单击父目录并单击Commit。我填写消息框,确保我添加的所有文件都已选中,并且它们都表示已在状态下添加。最后,我单击OK。弹出一个框,通常是这样的,说明您尚未输入问题编号,我单击“继续”,但不输入问题编号。弹出的下一个框中有一行,上面写着添加一个我正试图添加的文件,然后是:

Error: Commit failed (details follow):  
Error: File '%Path to my file%' is  
Error:  out of date  
Error: File '%File name%' already exists  
Error: You have to update your working copy first.  
我已成功更新我的工作副本,该副本没有任何更改。我也做了一次成功的清理。我已尝试删除父目录,同时删除基本文件夹,并重新检查基本文件夹

我检查了存储库,那里没有添加文件名的文件

所有这些都是通过gui实现的。使用命令提示符,我得到了以下结果:

svn status:
svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted

svn cleanup 5.0.1:
svn: E155009: Failed to run the WC DB work queue associated with '%PathToBaseRepoFolder%', work item 12841 (sync-file-flags 56 %Path to another file I was unable to add from the base repo folder%)
svn: E720003: Can't set file '%Full path to the other file I was unable to add%' read-write: The system cannot find the path specified.
如果我从gui进行更新和清理,它会说这两项都成功了

我们正在使用http://


我相信权限是正确的。

好的,我不知道这是否是个问题。我发现使用稀疏签出时会发生此错误。您可以通过-depth标志调整签出期间看到的文件,也可以通过-set depth标志调整更新期间看到的文件。如果在某些文件上设置了-set depth=exclude,则在尝试添加文件时会看到此错误

从命令行尝试此操作。从工作目录的根目录:

$ svn cleanup
$ svn update --set-depth=infinity
$ svn status

确保这三个命令都能工作。然后,尝试提交。

问题是我更新到了版本1.8.1,它有一个bug。我下载了1.8.0版,它运行得很好。

我在Otteroisvn 1.8.2-1.8.10中多次遇到这种情况。我找到了解决这个问题的方法,直到它再次出现。这让我非常恼火,以至于我编写了一个从桌面运行的快速bat文件脚本

先决条件

下载并解压缩shell工具,例如。 调整以下命令中的路径以匹配您的环境 修理手册

如果您只是想测试这是否有帮助,请运行此命令

在CMD do C:\Downloads\sqlite3.exe C:\src\.svn\wc.db中 一旦进入sqlite shell,从工作队列中运行delete; 运行乌龟svn清理 自动修复

如果前面的步骤为您工作,请考虑用以下步骤自动化程序:

转到.svn文件夹,例如C:\src\.svn 复制SQLITE3shell工具 在该文件夹中创建fix-svn.bat文件 插入脚本代码,并调整路径

"C:\src\.svn\sqlite3.exe" wc.db "delete from WORK_QUEUE"
"C:\Program Files\TortoiseSVN\bin\svn" cleanup "C:\src"
保存bat文件并创建桌面快捷方式

下次需要修复时,只需在桌面上运行快捷方式 对的更新为我解决了问题

sudo svn cleanup 

解决我的问题

svn状态显示什么?你做了svn更新。正当没有冲突吗?您的服务器使用什么类型的协议?它是file://、http://,还是svn:?服务器上存储库中的文件的权限是否正确?请参阅“我的问题”的更新。有趣的帖子带有相同的错误消息:。这可能与编码/语言有关吗?您在命令行上成功运行了svn cleanup?我在OrtoiseSVN 1.8.2中遇到了与某些文件(而不是所有文件)相同的问题。我重新安装了OrtoiseSVN 1.8.0,它现在可以工作了。这个问题在1.8.3中似乎仍然存在,只是在与主干合并的过程中得到了它,移除了主干,再次检查并重新合并,它工作了!谢谢,帮我解决了。这种联系似乎过时了。当前的候选版本可以在下面的目录中找到:很抱歉,答案中有这样的内容,但是文本格式并没有使它太明显。现在更新。.quit和.exit都可以工作。我在svn 1.8.10客户机上遇到了这个问题,因为我从一个带有本地更改的工作目录创建了一个功能分支,然后在尝试解决由此产生的冲突时进行了svn切换。我想我是从错误的版本中创建了功能分支。我在删除.svn目录don't ask后遇到了这个问题-即使在那种情况下,这也非常有效,并且我能够得到一个干净的签出。谢谢你为我节省了很多时间!