我使用 WinCVS 作为客户端和 CVSNT 作为我的源代码控制服务器。我想添加到我的 CVS 存储库中的一些文件被添加为 Unicode 文件。现在,我想重新提交与 ANSI(又名 ASCII)文件相同的内容。但是,尽管从存储库中删除了旧文件,但每次我添加同名文件时,它都会自动为文件分配 Unicode 编码。
有出路吗?或者换句话说,一旦将文件添加到 CVS,我可以更改文件的编码吗?
我使用 WinCVS 作为客户端和 CVSNT 作为我的源代码控制服务器。我想添加到我的 CVS 存储库中的一些文件被添加为 Unicode 文件。现在,我想重新提交与 ANSI(又名 ASCII)文件相同的内容。但是,尽管从存储库中删除了旧文件,但每次我添加同名文件时,它都会自动为文件分配 Unicode 编码。
有出路吗?或者换句话说,一旦将文件添加到 CVS,我可以更改文件的编码吗?
有几件事(可能)在这里发挥作用:
您可以在 WinCvs 本身中禁用自动文件类型检测:转到 Admin|Preferences|Globals,名为“添加文件时提供控制”的选项 - 理论上,您应该能够在完成此操作后使用工具栏中的常规 Add 命令
确保您的cvswrappers (客户端和服务器端)中没有任何条目来定义您添加为 unicode 的文件类型
最新版本的 WinCvs 捆绑了一个宏,用于在 WinCvs UI 未涵盖的情况下添加具有特定 k 模式的文件(查找 Macros|Add|Extended Add Selection... - 您可能应该明确强制它使用“文本”(又名 -kt)以确保服务器也不执行文件类型自动检测
CVSNT 支持文件类型更改的版本控制。在您的情况下,此命令序列cvs update -kt
后跟cvs commit -f
最新版本的 WinCvs 还捆绑了一个用于执行后者的宏,它位于 Macros|CVS|Change File Options
[我是这里引用的两个宏的作者,所以如果他们给您带来任何麻烦,请随时与我联系 - 您可以在宏本身中找到我的联系信息]
首先,我推荐使用TortoiseCVS,因为它有更好的CVSNT
支持。CVS
和whieCVSNT
很相似,CVSNT
不是。TortoiseCVS对话框将显示它猜测的文件类型,您可以在那里覆盖文件类型。 CVS
Add
对于现有的情况,假设您不想保留 Unicode 文件的历史记录,您可以尝试以下方法。
好的,首先是警告:
您不应手动编辑 CVS 存储库(除非您真的很绝望)
现在请您自行承担违反上述规则的说明。
Attic
目录,v
扩展名。cvs add
再次文件这里的建议都没有帮助我,但这有效
注意:文件类型由 -k 开关指定,后跟文件类型