为了考虑理查德的评论和Steen对我的回答,我必须独立指定mime文件类型,独立于在CVS中标记的类型文件,我正在寻找如何在cvs2svn中将所有文件作为二进制文件处理?也许是不可能的?
请理查德(或其他人),你能告诉我如何知道一个给定的文件在CVS中的标记类型吗?
你好,如何将所有文件作为二进制文件处理?
所有16次传递( cvs2svn)都是正确的,但有几个二进制文件已损坏(如.gif)。没有被视为二进制文件!
我使用的命令行是:
python C:\noinstaller\cvs2svn-2.2.0\cvs2svn -s "SVN_REPO" "CVS_REPO" --use-cvs
--encoding=latin1 --mime-types=svn-mime-types --eol-from-mime-type
--keywords-off --sort=C:\noinstaller\UnxUtils\usr\local\wbin\sort.exe在阅读了CVS2SVN常见问题之后,我尝试了许多其他选项,但是相同的文件总是被破坏。
谢谢。克里斯蒂安。
发布于 2009-02-13 10:30:42
我推断不可能强迫cvs2svn将所有文件都视为二进制文件。
发布于 2009-02-03 19:06:09
Subversion使用heuritic算法来确定文件是否为二进制文件。首先,它检查是否设置了mime-types-file配置参数,并使用它将文件映射到mime类型。如果没有找到这种配置,它将查看1024个第一个字节,如果超过15%不在ASCII范围内,或者其中任何一个为空值,则该文件被视为二进制。要具体设置给定文件类型的mime类型,必须使用自动道具。
请注意,如果subversion确定您的文件为mime类型的image/x-xbitmap或image/x-xpixmap,则它将被视为文本文件。
自动支持会影响svn add和svn import操作,并使用运行时配置进行设置,这些操作是通过命令行选项或subversion的配置文件指定的,可以在subversion安装conf目录中找到。应设置下列值:
# default is 'no', so we enable auto props with
enable-auto-props = yes
# specify absolute path to mime.types like file, e.g.
mime-types-file = /etc/mime.types这将正确映射您的二进制文件。
编辑:来自cvs2svn手册:
-auto= file以Subversion的配置文件格式指定文件,其自动支持部分可用于根据文件名对Subversion存储库中的文件设置任意属性。(必须存在自动支持部分头;配置文件的其他部分,包括启用-自动道具设置,将被忽略。)文件名与文件名模式匹配--不敏感,与Subversion的行为一致。自动道具文件可能包含如下内容: 自动道具*.txt =svn:mime类型=文本/纯文本;svn:eol样式=本地*.doc =*.doc
因此,使用命令行开关--auto-props和一个自动支持文件,您应该能够获得cvs2svn脚本所需要的功能。
发布于 2009-02-04 13:05:30
至于如何让cvs2svn将所有文件视为二进制文件的问题,我只能指出FAQ中有关EOL的部分。
从2.0版本开始,cvs2svn的默认行为是将所有文件视为二进制文件,但那些显式确定为文本的文件除外。
也来自于常见问题:
如果一个文件在CVS中被标记为二进制文件(使用cvs管理-kb ),那么cvs2svn将始终将该文件视为二进制文件。
若要查看文件是否标记为二进制文件,请在CVS中查找文件上的-kb选项。在WinCVS中,除了编码之外,还有列。
不幸的是,我没有一个解决方案给您,但我会尝试简化您的命令参数,将重点放在那些不适合这些文件的地方。使用自动道具文件将使您最终控制每一个文件.如果您的CVS文件是“干净的”(意味着所有文件都以文本和二进制的形式正确地提交),那么默认样式=本机参数应该提供最好的结果。
祝你好运,让我们知道什么对你有用。
https://stackoverflow.com/questions/507494
复制相似问题