2008-09-28 7 views
6

이 페이지의 오른쪽 아래 모서리에는 SVN 개정 ID가 있습니까? 나는 그것이 역동적이라고 가정하고있다.PHP에서 페이지에 svn 리비전 번호를 쉽게 삽입 할 수 있습니까?

나는 코드 푸시가 진행되고 있음을 확인하기 위해 소스의 주석과 마찬가지로 일부 사이트에 추가하고 싶습니다.

참고 : 해당 사이트의 작업 디렉토리가 해당 저장소의 svn 체크 아웃이라고 가정 할 수도 있습니다.

편집 : 내가보고있는 파일의 개정 번호가 아닌 글로벌 개정 번호를 찾고 있습니다.

+0

중복 : http://stackoverflow.com/questions/111436/how-can-i-get-the-svn-revision-number-in-php – Thomaschaaf

답변

9

당신은 가장 높은 번호를 포함한 개정에서보다 구체적인 모습을, 얻을 수있는 svnversion CLI 유틸리티를 사용할 수 있습니다 참조하십시오. 그런 다음 정규 표현식을 사용하여이를 구문 분석 할 수 있습니다.

Subversion에는 글로벌 리비전 개념이 없습니다. 오히려 작업 복사본을 재귀 적으로 조사하여 가장 높은 개정 번호를 찾아야합니다. svnversion이 해당 작업을 수행합니다.

5

키워드 하위 분류 방법은 배포하려는 전체 코드베이스가 아닌 파일의 수정본을 제공하기 때문에 신뢰할 수 없습니다. 이는 내가 생각하는 것입니다.

일반적으로 ANT를 사용하여 Subversion에서 배포하고 빌드 스크립트에서 배치 템플릿이나 공통 헤더 파일의 대체 토큰을 배포 할 코드베이스의 개정 번호로 대체합니다 - 아래를보십시오. 비록 누군가가 더 좋은 방법을 가지고 있지만 나는 그것을 듣고 싶습니다!

<svn username="${svn.username}" password="${svn.password}" javaHL="${svn.javahl}">  
    <status path="${dir.build}" revisionProperty="svn.status.revision" /> 
</svn> 

<replace dir="${dir.build}" token="%revision%" value="${svn.status.revision}"> 
    <include name="**/*.php" /> 
</replace> 
관련 문제