转义文件中的 $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
),但我不认为这是可取的。
我正在写一些代码生成器。由此生成的每个源代码文件都应以特殊的 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
),但我不认为这是可取的。