我使用WinCVS作为客户端,使用CVSNT作为源控制服务器。我想要添加到我的CVS仓库的一些文件被添加为Unicode文件。现在,我想重新发送与ANSI(aka ASCII)文件相同的内容。但是,尽管从repo中删除了旧文件,但每次添加具有相同名称的文件时,它都会自动为文件分配Unicode编码。
有出路吗?或者换句话说,一旦将文件添加到CVS,我可以更改文件的编码吗?
答案 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
支持。 CVS
和CVSNT
非常相似,CVSNT
不 CVS
。
TortoiseCVS Add
对话框将显示它们所猜测的文件类型,您可以在那里覆盖文件类型。
对于现有情况,假设您不想保留Unicode文件的历史记录,可以尝试以下操作。
好的,首先是警告:
你不要用手编辑CVS存储(除非你真的绝望)
现在有关破坏上述规则的指示,风险自负。
Attic
目录,v
扩展名。cvs add
个文件答案 2 :(得分:0)
这里没有任何建议对我有所帮助,但这有效
注意:使用-k开关后跟文件类型
指定文件类型