2008-11-11 33 views
2

我使用WinCVS作为客户端,CVSNT作为我的源代码管理服务器。我想添加到我的CVS仓库中的一些文件被添加为Unicode文件。现在,我想重新提交与ANSI(又名ASCII)文件相同的文件。但是,尽管从回购库中删除旧文件,但每次添加具有相同名称的文件时,都会自动将Unicode编码分配给该文件。更改文件类型一旦添加到CVSNT

有没有出路?换句话说,一旦将它添加到CVS中,我可以更改文件的编码吗?

回答

4

有几件事情可能(可能)在这里发挥作用:

  • 您可以在WinCvs中本身禁用自动文件类型检测:进入管理|首选项|全局,“添加文件时,供应控制”评选的选项 - 理论上你应该能够你以后从工具栏中使用常规的添加命令做到了这一点

  • 确保你没有在你的cvswrappers(客户端和服务器端),定义您要添加为Unicode

  • 最近WinCvs中的版本的文件类型捆绑任何条目与添加文件与特定的k模式,不包括在WinCvs中UI的情况下,宏(寻找宏|收藏|添加扩展选择...... - 你应该明确地迫使它使用“文本”(又名-kt )以确保服务器不执行文件类型的自动检测或者

  • CVSNT支持的文件类型的改变版本。你的情况造成这种情况的命令序列之后将最近cvs commit -f

  • 版本WinCvs中还捆绑有用于执行后的宏cvs update -kt,这是宏下| CVS |更改文件选项

[我都在这里引述所以觉得免费的,如果他们给你任何麻烦与我联系宏的作者 - 你可以找到自己的宏里面我的联系方式]

0

首先,我建议使用TortoiseCVS,因为它有更好的CVSNT支持。 Whie CVSCVSNT非常相似,CVSNT不是CVS。 TortoiseCVS Add对话框将显示文件类型,因为它猜测它们,您可以在其中覆盖文件类型。

对于现有情况,假设您不想保留Unicode文件的历史记录,可以尝试以下操作。

OK,第一个警告:

你不可编辑的CVS仓库由专人(除非你是真正的绝望)

现在对于打破指令称规则,风险自担。

  1. 让你的CVSNT资源库目录备份(简单的ZIP文件将做)
  2. 在客户端,确保Unicode文件实际上是在本地和版本库中删除。
  3. 在CVSNT资源库目录:
  4. 找到您最初添加的文件
  5. 找到Attic目录
  6. 删除这些文件,它们中的任何,v扩展模块目录。
  • 在客户端:
  • 确认文件具有ANSI编码(纯醇”文本文件)
  • cvs add再次将文件
  • +0

    规定,除非这是一个非常古老CVSNT斯塔在没有Attic文件夹的情况下 - 只有在使用仍然使用它的服务器创建的存储库上运行时,Attic才支持向后兼容。 – 2008-11-12 01:37:22

    +0

    但也没有必要删除回购文件作为CVSNT完全能够版本更改文件类型(见我的回答)的 - 至少这是在过去的三年中释放或使CVSNT的任何版本... – 2008-11-12 01:39:15

    0

    无的建议在这里帮我,但这工作

    1. 备份CVSNT文件
    2. 删除文件并提交
    3. 恢复文件
    4. 在CVSNT在命令行中添加文件“添加-kt - myfile.html”
    5. 承诺要添加的文件

    注:文件类型与-k开关其次是文件类型