转义文件中的 $id$-string

Escape $id$-string in file

我正在写一些代码生成器。由此生成的每个源代码文件都应以特殊的 cvs 命令 $id$ 开头,该命令在签入时被 CVS 替换。

所以我有这个代码:

code.Comments.Add(new CodeCommentStatement("$Id$"));

其中 code 的类型为 System.CodeDom.CodeNamespace

然而,代码生成器本身托管在我们的版本控制系统上,因此我的生成器源代码中的 "$id" 部分也会在签入时被替换。

如何对序列进行转义以使字符串不被替换?

只需拆分它或创建一个变量。像这样的东西。 (请原谅我可能不正确的 java 语法。)

code.Comments.Add(new CodeCommentStatement("$I" + "d$"));

var dollar='$';
code.Comments.Add(new CodeCommentStatement(dollar+"Id"+dollar));

虽然您也可以在 cvs 中将该脚本文件制作成二进制文件 (-kb),但我不认为这是可取的。