为了考虑到理查德的评论和斯蒂恩的回答,我必须独立于类型 mime 文件和 CVS 中标记的类型文件进行指定,我正在寻找如何将所有文件视为 cvs2svn 中的二进制文件?或许是不可能?

请理查德(或其他人)告诉我如何知道给定文件的 CVS 中的标记类型?


您好,如何将所有文件视为二进制文件?
(cvs2svn 的)所有 16 遍均已正确完成,但几个二进制文件已损坏(如 .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 常见问题解答, ,我尝试了许多其他选项,但相同的文件总是损坏。

谢谢。基督教。

有帮助吗?

解决方案 3

我推断这是不可能迫使cvs2svn考虑到所有文件作为二进制文件。

其他提示

Subversion 使用启发式算法来确定文件是否是二进制文件。首先,它检查是否 mime-types-file 设置配置参数并使用它来将文件映射到 mime 类型。如果没有找到这样的配置,它会查看前 1024 个字节,如果超过 15% 不在 ASCII 范围内或其中任何一个为空值,则该文件被视为二进制。要专门设置给定文件类型的 mime 类型,您必须使用 汽车道具.

请注意,如果 subversion 确定您的文件是 mime 类型 image/x-xbitmap 或者 image/x-xpixmap, ,它将被视为文本文件

自动道具影响 svn addsvn 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-props=文件

以Subversion的配置文件格式指定文件,该文件的[自动实用]部分可用于根据其文件名在颠覆存储库中的文件上设置任意属性。([自动实践]部分必须存在;配置文件的其他部分(包括启用自动启动设置)被忽略。自动实行文件可能具有这样的内容:

[auto-props]
*.txt = svn:mime-type=text/plain;svn:eol-style=native
*.doc = svn:mime-type=application/msword;!svn:eol-style

因此,使用命令行开关 --auto-props 和一个自动props文件,您应该能够获得所需的功能cvs2svn 脚本

至于如何有cvs2svn对待的所有文件作为二进制的问题,我只能指向在FAQ有关的 EOL

  

从2.0版开始,cvs2svn的默认行为是把所有的文件作为二进制除明确确定为文本。

同样来自FAQ:

  

如果一个文件是在CVS标记为二进制(与CVS管理员-kb,然后cvs2svn将总是将这个文件作为二进制。

要看到,如果一个文件被标记为二进制,寻找在CVS文件中-kb选项。在WinCVS中,存在用于此以及编码列。

不幸的是,我没有你的解决方案,但我会尽量简化你的命令参数集中在究竟是不是对这些文件的正确工作。使用--auto道具文件会给你每一个文件的最终控制权。如果你的CVS文件是“干净”(意为所有的文件被正确致力于为文本和二进制),该--default风格=本地参数理应得到最好的结果。

祝你好运,让我们知道你的作品。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top