我的CVS项目中有4个文件有问题。每次我提交其中一个文件时,CVS会在其末尾添加相同的代码行。这行代码是当前文件的重复行(但不是它的最后一行)。
我尝试了几件事:更新,删除行和提交,删除所有行和提交,添加行和提交,添加标题和提交。但我总是在我的文件末尾添加相同的代码行。我可以删除所有文件并重新创建,但我会丢失所有历史数据。
我觉得CVS在提交时修改我的文件很尴尬。它是否具有反效果,因为它可能会在兼容代码中添加错误?
我可以补充说我的文件是.strings(文本文件,unicode)。我正在分支机构工作,但最近将它合并到主干中。
我在虚拟Windows机器上使用TortoiseSVN,它可以通过这两者之间的网络驱动器访问我的Mac OS X文档文件夹。
事实证明,我的同事在一个真正的Windows文件夹中拥有相同的项目,可以毫无问题地提交。
现在他这样做了,问题也解决了我。
但我不知道会发生什么。我唯一的线索是Mac OS X中隐藏的角色会破坏TortoiseSVN。有可能吗?
答案 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'以在更改类型后将其恢复。
请注意,这样做不太可能有助于您在文件中看到的更改,因此请务必检查文件,并在进行此更改后修复任何现有问题。