2016-09-29 4 views
0

Я пишу код-генератор. Каждый исходный код-файл, сгенерированный этим, должен начинаться с специальной cvs-команды $id$, которая заменяется CVS на checkin.

Так что у меня этот код:

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

Где code имеет тип System.CodeDom.CodeNamespace.

Однако сам кодогенератор размещен на нашей системе управления версиями, и, таким образом, "$id" -part в исходном коде моего генератора также заменяется на checkin.

Как я могу избежать последовательности, чтобы строка не заменялась?

ответ

1

Просто разделите его или создайте переменную. Что-то вроде этого. (Простите мой, возможно неправильный синтаксис Java.)

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

или

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

В то время как вы можете также сделать этот файл сценария двоичный в CVS (-kb), я не думаю, что это целесообразно.

+0

Лучшие идеи - это те, которые у вас нет. Спасибо за этот простой, но блестящий ответ. – HimBromBeere