无法运行与文件关联的WC DB工作队列

mir*_*ith 49 svn

我不假思索地通过我的osx系统添加并提交了一个文件,其中有一个问号而没有考虑这会对Windows产生什么影响.在我做更新时在Windows上失败,因为它无法创建带有?的文件?因此我回到了我的osx系统并对该文件进行了svn重命名,但是在Windows上这没有用,因为svn经历了所有步骤的历史记录,将工作区带到了头部修订版.不用说我被困了,任何想法我怎么能解决这个问题?

这是我更新时的当前svn错误日志(尝试使用Tortoise SVN和命令行,两者都是相同的):

svn: E155009: Failed to run the WC DB work queue associated with 'F:\Devel\bc\dev\trunk\appShare\media\frontend\?_12x15.png', work item 53314 (file-install appShare/media/frontend/?_12x15.png 1 0 1 1)
svn: E720123: Can't move 'F:\Devel\bc\dev\trunk\.svn\tmp\svn-68A36D23' to 'F:\Devel\bc\dev\trunk\appShare\media\frontend\?_12x15.png': The filename, directory name, or volume label syntax is incorrect.

每次我这样做,我必须删除wc.db中WORK_QUEUE表中的记录,然后在svn让我尝试别的东西之前进行清理.

Mik*_*e D 75

感谢这个参考解决方案,该解决方案适用于svn安装了via的Mac brew.

cd {work-dir-base}
sqlite3 .svn/wc.db "delete from work_queue"
Run Code Online (Sandbox Code Playgroud)

这是另一个处理此问题的博客文章.


小智 11

对于 Windows 用户。

  1. 将 sqlite3.exe 复制到 .svn 目录所在的位置。
  2. 以管理员身份打开 CMD
  3. 命令:
    C: sqlite3 .svn\wc.db 
    sqlite> select * from WORK_QUEUE;
    sqlite> delete from WORK_QUEUE;
    sqlite> .quit
    C: svn cleanup
Run Code Online (Sandbox Code Playgroud)


mir*_*ith 9

那就是在包含命名错误的文件的Windows框中通过svn删除文件夹.如果它看到一个尚未提交的本地删除,这必须告诉svn不要更新该文件夹.如果这样做,请务必先备份文件,以便重新创建文件夹并再次添加所有文件(当然正确命名).

具体而言:

  1. SVN将其他计算机上的文件重命名为右文件名
  2. SVN删除Windows计算机上包含命名错误的文件的文件夹.
  3. 更新您的工作副本,现在可以正常工作.
  4. 解决重命名和删除之间的冲突.
  5. 还原您的本地修改(SVN删除,尚未提交).

  • 解决方案在哪里? (5认同)

小智 8

这些是我为消除此错误所采取的步骤

  1. https://www.sqlite.org/download.html下载sqlite ,下载Windows预编译二进制文件.我下载了sqlite-tools-win32-x86-3200100.zip,其中包含sqlite的.exe文件

  2. 解压缩zip并添加将sqlite3.exe保存到windos PATH变量的路径.

  3. 现在导航到您拥有.svn目录的位置
  4. 在命令窗口中打开并执行sqllite3 .svn/wc.db"从work_queue中删除"
  5. 现在继续运行你的svn清理,一切都应该正常工作.


Vin*_*mes 8

.svn/tmp就我而言,创建目录解决了这个问题


小智 7

我也遇到过类似的问题:

我删除了一个本地文件夹(已检出svn文件).在此之后,没有任何svn命令工作正常,即使从cmd提示符(admin),svn清理也无法正常工作.

固定:

  1. 我创建了一个虚拟文件,其错误'svn:E155009:无法运行与'相关联的WC DB工作队列即将到来.
  2. 然后我在cmd行中运行svn cleanup,发现同样的错误,因为无法读取文件
  3. 对步骤2中找不到的文件重复上述步骤.
  4. svn清理,它的工作原理!


LMK*_*LMK 5

关闭所有 Visual Studio 实例可以解决我的问题。