2012-11-30 4 views
2

요구 사항 :개미 빌드 읽기 버전 번호

실행 svn log -l 1 명령이이 같은 출력을해야합니다.

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

나는 개정 번호 2633를 추출하고 속성으로이를 할당해야합니다. 나는 개미를 피하는 것을 선호한다.

내가 뭘하려 :

<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

svn log -q -l 1이 더 좋을 것입니다. 임원 내부에서 파이프를 사용할 수 있습니까? –

+1

svn log | grep r | gawk { 'print $ 1'} 또는 ** 순수 리비전 **을 subwrerev로 파일에 작성하십시오. –

+0

나는 창에서 그렇게하고 있습니다. grep을 사용하지 마십시오. 그러나 제안에 감사드립니다. – PravinCG

답변

2

표준 Ant의 속성에서 부분 문자열을 추출하는 명확한 방법은 없습니다. 다른 해결책에 대해서는 this Stack Overflow answer을 참조하십시오.

+0

사실입니다. 링크를 가져 주셔서 감사합니다. 파일을 사용하여 출력을 작성한 다음 regex를 사용하여 필요한 데이터를 읽는 것이 더 좋을지 궁금합니다. 더 이상 의존성을 피하고 싶습니다. – PravinCG

+0

링크의 네 번째 대답은 정확히 수행합니다. - 임시 직원을 작성합니다. 파일을 검색하고 정규식으로 검색합니다. –

+0

네, 몇 가지 비틀기와 함께 작동! 고맙습니다! – PravinCG