CONAN ZONE

你越挣扎我就越兴奋

BlogJava 首页 新随笔 联系 聚合 管理
  0 Posts :: 282 Stories :: 0 Comments :: 0 Trackbacks

今天很失败,画了一个中午的Visio流程图,在CVS上提交的时候,提交是成功了,就是文件被破坏掉了,大小变成了1KB。仔细看了一下,原来是Visio的文件.vsd的被CVS识别成Text的了,但是我确定我添加这个文件的时候是按照Binary的方式来添加的啊。于是继续做实验,发现果然是,即使你按照Binary的方式添加,在提交完毕之后,就变成了Text方式了。

 

于是查看CVS的文档,也就是-kb参数来设定文件的类型。我切换到命令行方式,还是一样,被识别成Text的了。

 

于是想找一种方式,来解决这个问题,否则在之后的工作中会有麻烦的(其实PowerDesigner的文档.pdm的也存在这种情况,但是至少.pdm是真正的文本文件,即使发生了冲突,虽然几率较小,也是可以在文文本编辑器中修改回来,但是Visio就不一样了,.vsd可是真正的Binary的文档啊)。

 

看到cvs文档上说,可以修改cvswrappers文件来设定扩展名对应的处理方式,是Text还是Binary的方式,因为CVS并不能准确判断你加入的文件的类型。

 

1. 使用WinCVS客户端或者cvs.exe命令行工具检出CVSROOT这个Module,需要注意的是,这个Module的安全界别设置比较高,需要Administrator或者有Admin权限的用户才可以。可以登录到服务器查看一下CVSROOT\CVS\fileattr.xml

2. 修改cvswrappers文件,里面有简单的说明,在最后加入两行:

    *.vsd -kb

    *.pdm -kb

    如果是其它的CVS版本,参考cvswrappers文件注释部分的内容

3. Commit 文件 cvswrappers

 

然后就可以添加.vsd的文件了,果然能够识别成Binary的了。

 

上面描述的问题和解决办法是 CVSNT 2.5 版本的,

在CVSNT 2.0版本中,如果你Add文件时用Binary方式,那么之后的操作就是以Binary对待了。

其它版本没有环境测试了。

posted on 2008-06-22 18:40 CONAN 阅读(586) 评论(0)  编辑  收藏 所属分类: CVS