https://www.example.com/svn/SomeProject/trunk
ну, или
https://www.example.com/svn/SomeProject/tags/1.0.20
Задание - получить с помощью Ант-скрипта текущую версию и номер ревизии, то есть для первого варианта это было бы:
trunk-5899
а для второго варианта -
1.0.20-6899
Одно из решений - чтение из файла .svn/entries:
<target name="-getVersion">
<loadfile property="tag" srcFile=".svn/entries">
<filterchain>
<headfilter lines="1" skip="4" />
<tokenfilter>
<replaceregex pattern="/" replace="${line.separator}" flags="g"/>
</tokenfilter>
<tailfilter lines="1"/>
<deletecharacters chars="\n" />
</filterchain>
</loadfile>
<loadfile property="revision" srcFile=".svn/entries">
<filterchain>
<headfilter lines="1" skip="3" />
<deletecharacters chars="\n" />
</filterchain>
</loadfile>
<property name="version.calculated" value="${tag}-${revision}"/>
<echo message="the tag is ${version.calculated}"/>
</target>
PS:
Лучщее решение
Комментариев нет:
Отправить комментарий