TortoiseSVN不允许我添加任何文件

时间:2013-08-01 17:09:17

标签: svn tortoisesvn

我正在尝试使用TortoiseSVN 1.8.1将文件添加到SVN存储库。我右键单击文件并选择TortoiseSVN-> Add。然后,我选择弹出窗口中的所有文件,然后单击“确定”。单击“确定”后,弹出另一个对话框,所有文件似乎都成功添加,因为它在每个文件旁边显示“已添加”,最后显示“已完成!”在底部。单击“确定”,然后右键单击父目录并单击“提交”。我填写了消息框并确保我添加的所有文件都被检查,并且他们都在“状态”下说“已添加”。最后,我点击“确定”。像往常一样弹出一个框,说“你还没有输入问题编号”,然后点击“继续没有问题编号”。弹出的下一个框有一行“添加”,其中包含我要添加的文件,后跟:

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://

我相信权限是正确的。

5 个答案:

答案 0 :(得分:39)

现在很多次使用TortoiseSVN 1.8.2 - 1.8.10发生了几个。我发现this blog post一次解决了这个问题,直到它再次弹出。它让我非常生气,以至于我写了一个快速的bat文件脚本,我从桌面运行。

<强>先决条件

  1. 下载并解压缩sqlite3 shell工具,例如sqlite-shell-win32-x86-3080803.zip
  2. 调整以下命令中的路径以匹配您的环境
  3. 修复(手动)

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

    1. 在CMD中C:\Downloads\sqlite3.exe "C:\src\.svn\wc.db"
    2. 在sqlite shell中运行delete from WORK_QUEUE;
    3. 运行togoise svn clean up
    4. 修复(自动化)

      如果上一步有效,请考虑使用这些步骤自动执行此过程

      1. 转到 .svn 文件夹,例如 C:\ SRC \的.svn
      2. 复制sqlite3 shell工具
      3. 在该文件夹中创建fix-svn.bat文件
      4. 插入脚本代码,并调整路径

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

      6. 下次需要修复时,只需在桌面上运行快捷方式
      7. 即可

答案 1 :(得分:9)

问题是我更新到版本1.8.1,它有一个错误。我下载了1.8.0版本,工作正常。

答案 2 :(得分:2)

好的,我不知道这可能是个问题。我发现当使用稀疏检出时会发生此错误。您可以通过--depth标志在结帐时调整您看到的文件,并通过--set-depth标志更新。如果您对某些文件--set-depth=exclude,则在尝试添加文件时会看到此错误。

从命令行尝试此操作。从工作目录的ROOT开始:

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

确保所有这三个命令都有效。然后,尝试提交。

答案 3 :(得分:2)

更新release candidate已经解决了我的问题。

答案 4 :(得分:0)

sudo svn cleanup 

解决我的问题