我没有想到我通过我的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让我尝试其他操作之前进行清理。
答案 0 :(得分:67)
感谢this reference通过svn
安装brew
的Mac解决方案。
cd {work-dir-base}
sqlite3 .svn/wc.db "delete from work_queue"
答案 1 :(得分:9)
那就是在包含命名错误的文件的Windows框中通过svn删除文件夹。如果它看到一个尚未提交的本地删除,这必须告诉svn不要更新该文件夹。如果这样做,请务必先备份文件,以便重新创建文件夹并重新添加所有文件(当然正确命名)。
具体而言:
答案 2 :(得分:7)
这些是我为摆脱此错误所采取的步骤
从https://www.sqlite.org/download.html下载sqlite,下载Windows的预编译二进制文件。我下载了sqlite-tools-win32-x86-3200100.zip,其中包含sqlite的.exe
解压缩zip并添加将sqlite3.exe保存到windos PATH变量的路径。
答案 3 :(得分:5)
我也遇到过类似的问题:
我删除了一个本地文件夹(已检出svn文件)。 在此之后,没有任何svn命令工作正常,即使从cmd提示符(admin),svn清理也无法正常工作。
修正:
答案 4 :(得分:4)
我们遇到了这个问题,因为MalwareBytes Ransomware Protection与其他一些MalwareBytes组件一起打开了。
其他人报告说,Bitdefender也在MacOS和Windows上都引发了这个问题。
我们看到的实际错误是
无法移动' xxx'到了' yyy':访问被拒绝。
它还破坏了运行清理操作的能力。
这似乎是竞争条件 - 违规文件每次都会更改。禁用Ransomware Protection组件解决了该问题。
答案 5 :(得分:3)
就我而言,创建一个.svn/tmp
目录解决了这个问题
答案 6 :(得分:2)
只需删除工作区中的.svn \ tmp.Did为我工作。
答案 7 :(得分:1)
关闭所有可视工作室实例可以解决问题。
答案 8 :(得分:1)
解决此问题的另一种方法。 发生了什么是SVN正在尝试执行操作(WC数据库),但是由于某种原因,该操作未正确完成,因此引发了错误。 您可以尝试通过替换文件来使其完成操作,或者制作一个其抱怨的虚拟文件,然后进行SVN清理,更新/提交或您所做的一切。
答案 9 :(得分:0)
我刚刚在记事本中打开文件(在我的情况下是一个.less文件),给它一个修改(例如输入)并保存文件。之后,我能够清理。
答案 10 :(得分:0)
要解决Windows 7中的问题,假设您无法清理的文件夹X中还有另一个名为A的文件夹,其中出现了问题。只需在其他地方检出文件夹A并将其复制回(当然,没有.svn缓存的文件夹)到X,然后运行清理和更新等。
答案 11 :(得分:0)
对于Windows用户。
答案 12 :(得分:0)
我发现我遇到了这个问题,因为某些CLI进程正在使用该文件,并且它阻止了对该文件的访问。就我而言,是Laravel队列中的后台作业。
答案 13 :(得分:0)
我知道这是一个老问题,但就我而言,还有其他任何一个未提及的问题。
从Windows计算机上的Unix服务器中拉出时,您(有时)可能会获得具有相同名称但大小写不同的文件或文件夹。
就我而言,它在文件夹Sanitize.js
和文件sanitize.js
处失败。
清理和更新之后应有的作用。
答案 14 :(得分:0)
使用该文件夹中的一个文件时,会发生这种情况。通常,该文件正被EXE等进程或在系统上同时运行的某些任务使用。
答案 15 :(得分:0)
svn:E155009:无法运行与“some-bad-file”工作项“file-number”file-install“some-bad-file 1 0 1 1”相关联的WC DB工作队列 svn:E000022:无法将“version-of-file-in-.svn/tmp”移动到“some-bad-file”:无效参数
我最近在 Kubuntu 20.04 上遇到了这个问题。有一个错误的文件名,这是我运行脚本以批量重命名 svn 文件夹中的文件的结果。我不需要访问 repo 机器就可以正常工作,如下所示:
我希望这能帮助任何遇到它的人。
答案 16 :(得分:-2)
删除导致问题的文件,然后进行清理。这将解决问题