Как удалить историю SVN из файлов Java?

#regex #svn #ant

#регулярное выражение #svn #ant

Вопрос:

У меня есть различные проекты, в которых были файлы с историей SVN. Недавно я переместил эти проекты в репозиторий Mercurial, так что теперь история в файле бесполезна. Есть ли способ удалить те, которые не вручную?

Вот пример:

 /*
 * $Rev:x$
 * $LastChangedDate:x$
 * $LastChangedBy:x$
 */
  

Где x — значение в файлах. Я предполагаю, что какое-то регулярное выражение поможет. Есть идеи?

Редактировать:

Это рабочий ответ:

 <target name="remove-svn-history">
    <replaceregexp byline="false" match="A/*.*?*/" replace="">
        <fileset dir="src" includes="**/*.java"/>
    </replaceregexp>
</target>
  

Ответ №1:

Предполагая, что это в начале файла, вы можете сопоставить его со следующим регулярным выражением:

 A/*.*?*/
  

Комментарии:

1. Я пробовал, но не повезло. Я обновлю вопрос с помощью задачи ant, которая у меня есть до сих пор.

2. Мне приходит в голову, что я использовал предположение, что точка соответствует новой строке. Недостаточно знаком с регулярным выражением ant / java, чтобы знать, включено ли это по умолчанию или нет. Попробуйте добавить (?s) в начало, т.е. (?s) \A /*.*?*/

3. Только что заметил, что у вас есть byline=»true», что, по-видимому, заставляет его обрабатывать построчно. Регулярное выражение, которое я написал, предназначено для захвата всего блока комментариев. Попробуйте установить для byline значение false, которое по умолчанию соответствует ant.apache.org/manual/Tasks/replaceregexp.html .