2013-07-17 3 views
1

내 파일이 커밋 된 URL을 잡아야합니다.SVN 사전 커밋 : 커밋 할 때 URL 이름 얻기

예 :

내 지점이 파일이 a.txt이 커밋 된 내 지점에서 http://localhost.home.network:443/svn/test

에서 체크 아웃 및 b.txt입니다.

내 svn 저장소의 URL을 svn 후크 (사전 커밋 또는 사후 커밋)로 캐치하고 싶습니다.

질문이 명확하지 않은 경우 나에게 질문하면 필요한 정보를 제공해 드리겠습니다.

답변

3

변경된 파일 목록을 가져 오기 위해 커밋 후크에서 svnlook changed을 사용하십시오. 출력은 저장소 내의 상대 경로를 포함하고 저장소의 루트는 첫 번째 인수로 포스트 커밋 훅에 전달됩니다.

당신은 어떻게 작동하는지 볼 수 post-commit 훅으로 다음의 bash 스크립트를 사용할 수 있습니다 : 그것은 작동하지 않았다

#! /bin/bash 
exec >> /tmp/post-commit.log 2>&1 
echo "COMMIT: $0 $*" 
svnlook changed "$1" 
+0

. 나는 svnlook changed 명령을 사용하려고 시도했고 나는 마지막으로 변경된 파일에 대해서만 답변을 얻는다. 정말 필요한 것은 코드가 위탁 된 모든 URL을 얻는 것입니다. – kamusett

+0

내가 말했듯이 출력에는 상대 경로가 포함되어 있으며 매개 변수'$ 1'에는 저장소의 절대 경로가 포함되어 있습니다. 루트 URL을 알고 있으면 변경된 모든 파일의 URL을 쉽게 작성할 수 있습니다. – nosid

+0

예! 나는 그것을 알아. 마지막 커밋이 내 저장소의 루트에 있었고 파일 경로 만 반환했기 때문에 혼란 스러웠습니다. 파일 이름 만 반환했습니다. 물론 그것 때문이었습니다. 감사! – kamusett