SVN 커밋에 대한 이메일 알림 [닫기]


10

상대적으로 턴키 SVN 체크인 알림 시스템에 대한 권장 사항이 있습니까?

커밋이 발생할 때 리포지토리 파일 요약이 변경되고 실제 diff의 내용이 개발 팀의 모든 구성원에게 전자 메일로 전송되도록 할 수있는 것을 찾고 있습니다. . 선택 사항입니다.

실제 diff / code 발췌 부분이 깔끔하게 구획화되기를 바랍니다. 처음부터 이해할 수없는 코드 조각이 크고 무모한 사람이라면 아무도 이런 것을 보지 않을 것입니다. 원칙적으로 수정 번호, 요약, 커밋 한 사용자 및 영향을받는 리포지토리 파일 목록을보고 싶습니다.

나는 약간의 시간을 내 자신의 글을 작성하는 것이 가능하다는 것을 보았고, SVN은 이러한 방식으로 다양한 이벤트를 정확하게 잡기위한 "후크"를 가지고 있지만 잘 작동하는 세련된 무언가를 얻는 것은 다소 복잡한 작업 인 것처럼 보입니다. 이 효과에 대한 오픈 소스 패키지가 존재한다는 것을 확신하면서 어느 것이 좋은지 나쁜지를 알아내는 데 어려움을 덜어 줄 수 있는지 궁금합니다. 나는 설정하기가 쉽고 많은 시간을 요구하지 않는 것을 찾고 있습니다. 정말 포괄적 인 시스템의 기능을 배우는 데 시간을 보내고 싶지만 실제로 개발도해야합니다.

미리 감사드립니다!

편집 : 나는 Sourceforge이 상당히 잘 알고 있습니다. 나는 지속적 으로이 메시지를받는 여러 개의 -dev 목록에 있습니다. 그러나 실제로 작업중 인 프로젝트에 Sourceforge를 사용할 수는 없습니다.


다음과 같은 후크를 설정하려는 모든 사람을위한 힌트 : 정보 개인 정보 보호법 (독일의 BDSG)에 상해를 입을 수 있습니다. 이것을 조심해서 사용하십시오!

답변:


8

후크에 대한 언급은 실제로 답변에서 멀지 않습니다. 사후 커밋 후크 를 사용하여 Subversion과 함께 번들로 제공되는 commit_email.pl ( 목차 ) 을 실행할 수 있습니다 . 메일 서버를 가리 키도록 조정 해야 하지만 스크립트 상단 근처의 변수 일뿐입니다. 스크립트를 실행하려면 Perl이 설치되어 있어야합니다.

사후 커밋 후크는 실행중인 OS에 따라 파일 이름이 다릅니다. 당신은 그것을 찾을 수 / 후크 / 하위 폴더 . Linux의 경우 단순히 사후 커밋 하는 반면 Windows에서는 사후 커밋 .bat 입니다. commit_email.pl 을 실행하기 위해 해당 파일을 수정하기 만하면 됩니다. 다음은 post-commit.bat의 예입니다.

@echo on
rem POST-COMMIT HOOK

set REPOS=%1
set REV=%2

C:\Perl64\bin\perl S:\SVNRepos\hooks\commit-email.pl %REPOS% %REV% -l C:\Temp\svnlook\commit-email.log

또한 Subversion 사용자 이름 대신 커밋의 전자 메일 주소를 표시하기 위해 전자 메일 스크립트를 추가로 변경했습니다. 이메일이 조금 더 유용하게 전송됩니다 (실제로 회신 할 수 있음).


나중에 참조 할 수 있도록 확장자로 파일 유형을 결정하지 않는 다른 시스템 (확실히 Linux 이상)에서는 후크의 이름이 그냥 지정 post-commit됩니다. .batWindows 버전의 이름에서 확장명을 제거하십시오 .
David Z

데이빗, 귀하의 의견에 감사드립니다. 이에 따라 답변을 조정했습니다.
Pauk

2

나는 SVL-Notify를 사용하는데 , 이것은 perl 스크립트이며 Windows에서 실행해야하지만 시도하지는 않았습니다. HTML :: ColorDiff를 사용하여 커밋 후 멋진 색상 차이를 제공합니다.

이것은 개발자 동료가 나에게 추천했으며 훌륭합니다.



2

SVN 모니터 는 아마도 당신이 원하는 것입니다.


Linux를 실행하므로 독립 실행 형 Windows 앱이 작동하지 않습니다. 그래도 제안에 감사드립니다.
Alex Balashov

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.