更改文件类型一旦添加到CVSNT

时间:2008-11-11 16:21:29

标签: cvs

我使用WinCVS作为客户端,使用CVSNT作为源控制服务器。我想要添加到我的CVS仓库的一些文件被添加为Unicode文件。现在,我想重新发送与ANSI(aka ASCII)文件相同的内容。但是,尽管从repo中删除了旧文件,但每次添加具有相同名称的文件时,它都会自动为文件分配Unicode编码。

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

3 个答案:

答案 0 :(得分:4)

这里有一些(可能)发挥作用:

  • 你可以在WinCvs本身中禁用自动文件类型检测:转到Admin | Preferences | Globals,这个名为“添加文件时提供控制”的选项 - 理论上你应该可以使用来自的常规Add命令完成此操作后的工具栏

  • 确保您的cvswrappers(客户端和服务器端)中没有任何条目定义您要添加为unicode的文件类型

  • 最新版本的WinCvs捆绑了一个宏,用于添加具有特定k模式的文件,用于WinCvs UI未涵盖的案例(查找宏|添加|扩展添加选择... - 您可能应该明确强制它使用“Text”(aka -kt)来确保服务器不执行文件类型自动检测

  • CVSNT支持文件类型更改的版本控制。在您的情况下,此命令序列为cvs update -kt,后跟cvs commit -f

  • 最新版本的WinCvs还捆绑了一个用于执行后者的宏,它位于宏| CVS |更改文件选项

[我是这里引用的两个宏的作者,如果他们给你任何麻烦,请随时与我联系 - 你可以在宏中找到我的联系信息]

答案 1 :(得分:0)

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

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

好的,首先是警告:

你不要用手编辑CVS存储(除非你真的绝望)

现在有关破坏上述规则的指示,风险自负。

  1. 备份您的CVSNT存储库目录(简单的ZIP文件可以)
  2. 在客户端上,确保在本地和存储库中实际删除Unicode文件。
  3. 在CVSNT存储库目录中:
    1. 找到最初添加文件的模块目录
    2. 找到Attic目录
    3. 删除文件及其任何,v扩展名。
  4. 在客户端:
    1. 验证文件是否具有ANSI编码(普通文本文件)
    2. 再次
    3. cvs add个文件

答案 2 :(得分:0)

这里没有任何建议对我有所帮助,但这有效

  1. 备份文件
  2. 在cvsnt中删除文件并提交
  3. 恢复文件
  4. 在cvsnt中从命令行添加文件"添加-kt - myfile.html"
  5. 提交添加的文件
  6. 注意:使用-k开关后跟文件类型

    指定文件类型