在这一天上整天都在敲我的脑袋,如何确保从CVS_root中删除损坏的文件。我正在尝试使用cvs2git工具创建转储文件,这是一个需要时间的过程,因此当它在损坏的文件上崩溃并且必须重新启动时非常烦人。
崩溃文件的示例如下所示:
cvs -Q -f -d :local:/cvs co -r1.1 -p -kb "rep/image.gif"
cvs checkout: Dropping data: pos>vec->text.nlines
cvs [checkout aborted]: invalid change text in r:/CVS/rep/image.gif,v
看起来我无法修复文件,因为" image.gif,v"文件只是更大,从来没有真正删除错误。所以,我想解决这个问题的唯一方法是删除image.gif,v文件。
有没有办法列出当前文件夹和子文件夹中的所有文件。创建一个像上面那样的cvs调用,并检查这个调用是否导致checkout中止。如果结帐中止,则会删除该文件。
Maby一些bat文件或其他文件用于命令行?
我如何运行" cvs -Q -f -d:local:/ cvs co -r1.1 -p -kb" rep / image.gif""命令并听取如上所述的错误?我有与windows powershell一起安装的git bash和msys2 - 所以如果只知道如何我应该有所需的工具......:D
答案 0 :(得分:0)
当您转储已知错误文件的所有版本时会发生什么
我添加了一个v文件的文件夹供任何人在这里玩https://github.com/steinhaug/steinhaug/tree/master/reference.files/2018-03-corrupted-cvs-files
一个损坏的文件是:browser-firefox.gif,v
命令:
cvs -Q -f -d:local:/ cvs co -r1.1 -p -kb" repository-path / browser-firefox.gif"
发生的事情是,有些文件存在内存错误,以及上面提到的一些错误。幸运的是,所有错误都与二进制文件有关,所以我最终只删除了导入到我导出的项目中的所有图像文件和大多数库。
最后,我很高兴保留我的编码历史记录,并且任何文本文件都没有问题。 cvs2git处理丢失的文件,它会忽略它们并继续工作。我发现无法修复任何已损坏的文件,因此删除似乎只是选项。