Ant Build从svn log输出读取版本号

时间:2012-11-30 17:28:28

标签: regex eclipse svn ant

要求:

运行svn log -l 1命令,这将有一个这样的输出。

    ------------------------------------------------------------------------
    r2633 | name | 2012-11-07 17:28:20 +0530 (Wed, 07 Nov 2012) | 1 line
    My comment.
    ------------------------------------------------------------------------

我需要提取修订号2633并将其指定为属性。我宁愿避免使用ant-contrib。

我尝试了什么:

<echo>Run svn log -l 1</echo>
<exec executable="svn" outputproperty="svn.output" failonerror="false">
    <arg line="log -l 1"/>
</exec>   
<echo message="Output was: ${svn.output}" />

这会在属性$ {svn.ouput}中获得上述输出,但我不确定如何从中提取版本。

其他选项是在文件中写入变量,但是如何将版本提取到属性中呢?

提前致谢。

1 个答案:

答案 0 :(得分:2)

没有一种干净的方法从标准Ant中的属性中提取子字符串。有关其他解决方案,请参阅this Stack Overflow answer