CVS不断在我想提交的文件末尾添加代码

时间:2013-01-14 15:05:30

标签: version-control cvs

我的CVS项目中有4个文件有问题。每次我提交其中一个文件时,CVS会在其末尾添加相同的代码行。这行代码是当前文件的重复行(但不是它的最后一行)。

我尝试了几件事:更新,删除行和提交,删除所有行和提交,添加行和提交,添加标题和提交。但我总是在我的文件末尾添加相同的代码行。我可以删除所有文件并重新创建,但我会丢失所有历史数据。

我觉得CVS在提交时修改我的文件很尴尬。它是否具有反效果,因为它可能会在兼容代码中添加错误?

我可以补充说我的文件是.strings(文本文件,unicode)。我正在分支机构工作,但最近将它合并到主干中。

更多详情:

  • 我在虚拟Windows机器上使用TortoiseSVN,它可以通过这两者之间的网络驱动器访问我的Mac OS X文档文件夹。

  • 事实证明,我的同事在一个真正的Windows文件夹中拥有相同的项目,可以毫无问题地提交。

  • 现在他这样做了,问题也解决了我。

  • 但我不知道会发生什么。我唯一的线索是Mac OS X中隐藏的角色会破坏TortoiseSVN。有可能吗?

1 个答案:

答案 0 :(得分:1)

我没有遇到过CVS的这个问题,但请注意你提到你正在编辑的文件是Unicode文本(你没有提到这是否意味着UTF8或UTF16,但是这两者都可能导致问题)。

根据您的CVS服务器的构建方式以及运行方式(以及在什么平台上),服务器很可能支持Unicode。这可能会导致一系列可能的问题,包括在Unicode字符的第二个(或更晚)字节等于ASCII'$'的地方扩展RCS样式的$ tag。

解决方法是将Unicode源文件标记为二进制对象。从命令行,可以使用

完成
cvs add -kb file-name

添加新文件时,或

cvs admin -kb file-name

表示现有文件(将文件名替换为文件名)。

在后一种情况下,我建议删除(本地副本)文件并运行'cvs update'以在更改类型后将其恢复。

请注意,这样做不太可能有助于您在文件中看到的更改,因此请务必检查文件,并在进行此更改后修复任何现有问题。