cvs2svn 修改二进制文件

Posted

技术标签:

【中文标题】cvs2svn 修改二进制文件【英文标题】:cvs2svn changes binary files 【发布时间】:2009-11-04 11:22:13 【问题描述】:

我正在使用 cvs2svn 从 CVS 迁移到 SVN。

我注意到转换完成后我的二进制文件有问题。

我正在使用 auto-props 文件,这非常有用。

转换后,我从 CVS 获取文件并将其与 SVN 中的相同文件进行比较。 该文件是二进制文件。使用WinMerge,我看到文件之间存在差异。

可能是什么问题?

【问题讨论】:

【参考方案1】:

你在使用 cvsnt 吗?如果你这样做了,cvs2svn 不会理解你的文件是二进制文件,因为 cvs 和 cvsnt 标记二进制文件的方式不同。编写一个转换它的程序很简单。我必须这样做。

现在,如果你有一个二进制文件在 cvs 中没有被标记为二进制,或者它是使用 cvsnt 语法标记的,并且该文件包含像“$Id”或“$Date”这样的模式,那么 Subversion 将替换签出文件时的那些模式。通常这意味着您的二进制文件将被损坏。

如何转换:如果文件包含“kopt b;”假设它是二进制的,尽管从技术上讲,文件在某些​​修订版中可能是二进制的,而在其他修订版中则不是。对于所有二进制文件,插入“expand @b@;”在文件顶部附近的“符号”之前,所以标题看起来像这样:

head    1.1;
access;
expand  @b@;
symbols

执行此操作时,请注意不要更改文件其余部分的任何内容,例如行尾。

【讨论】:

你能指定如何转换文件吗?

以上是关于cvs2svn 修改二进制文件的主要内容,如果未能解决你的问题,请参考以下文章

修改二进制参数文件(SPFILE)的方法之一

使用 gdb 修改二进制文件

vim编辑修改二进制文件以及对于二进制文件中幻数测试

vim编辑修改二进制文件以及对于二进制文件中幻数测试

怎样用fstream对二进制文件进行内容修改和删除?

lua文件修改为二进制文件