2010-06-22 7 views
4

나는 SVN 저장소 후크 작업을하고있다. 여기 저장소의 일반적인 구조이다에서Subversion에서 일반적인 커밋과 병합을 구분하는 방법은 무엇입니까?

trunk/ 
branches/ 
    branch1/ 
    branch2/ 

전 저지 I 합치기 (브랜치, 트렁크 분기 또는 반대에서) 수행되었는지를 감지하고 사용자가 권한이 있는지 확인해야 후크 병합을 수행하십시오.

merge가 대상 디렉토리의 'svn : mergeinfo'속성을 변경한다는 사실을 발견했습니다. 그래서, 커밋 변경 집합을 구문 분석하고, dir의 속성 변경을 감지하고 'svn : mergeinfo'속성이 마지막 커밋 이후 변경되었는지 확인해야합니다.

이 모든 것이 너무 복잡해 보입니다. 병합을 탐지하는 더 편리한 방법이 있습니까?

+0

사전 커밋에서 "svn commit"과 "svn merge"명령을 구별 할 수 없습니까? –

+0

아니요.'svn merge'는 커밋을 수행하지 않습니다. 'svn commit'은 separetely라고 불려야합니다. – Dmitry

답변

2

svn : mergeinfo 속성의 변경 사항을 감지하는 것이 유일한 방법입니다. 물론 mergeinfo를 생성하지 않는 1.5 이전 클라이언트에서 커밋을하지 않도록해야합니다.

+0

이것이 내가 찾은 유일한 방법입니다! – sholsapp

관련 문제