Windows 의 SVN 은 blat (원본) 메 일 로 알 립 니 다.

참고:
http://bbs.iusesvn.com/viewthread.php?tid=2893&highlight=%2Bgo2cxg
 
어떤 형 이 썼어 요.http://bbs.iusesvn.com/thread-662-1-1.html 메 일 알림 기능 설정 을 실현 하 는 것 은 귀 찮 습 니 다. 모든 것 을 간략하게 내 려 다 보 세 요 ~!헤헤 ~!!전자 동 초 단 SVN 을 만 들 기 위해 꾸준히 노력 하고 있 습 니 다.힘 들 어 ~ 흐흐.많이 찾 았 지만 효 과 를 보지 못 했다.가끔 작은 도구 blat 를 발견 합 니 다. 오픈 소스 소프트웨어 입 니 다. 홈 페이지:http://www.blat.net/
다운로드 주소:http://sourceforge.net/projects/blat/files/
 
압축 을 풀 고% windir% / system 32 폴 더 에 넣 으 면 메 일 을 보 내 는 방식 이 간단 합 니 다 blat d: / body. txt - to * * @ tom. com, * * * *[email protected] base 64 - charset Gb 2312 - subject "테스트" - server smtp. * * *. com - u user - pw password body. txt 메 일 내용 의 파일.이것 은 매우 유용 하 다.너 는 네가 보 내야 할 내용 을 안에 넣 어도 된다.
- to * * * @ tom. com 받 는 사람 목록, 여러 사람 이 쉼표 로 구분 하면 당연히 - cc 복사 - bcc 밀 송 옵션 을 추가 할 수 있 습 니 다.
- base 64 - charset Gb 2312 일부 형식 문자 설정 은 첨부 파일 에 있 는 상세 한 - subject "테스트" 메 일 테마 - server smtp. * * *. com smtp 서버 의 주 소 를 참조 할 수 있 습 니 다.
- u user - pw password 로그 인 에 사용 할 사용자 이름과 비밀번호
 
 visualSVN Server 를 사용 하면 post - comit 스 크 립 트 를 그림 과 같은 위치 로 복사 합 니 다.
Windows下的SVN通过blat(开源的)邮件通知_第1张图片
다음은 내 post - commit. bat 의 내용 을 붙 여 줍 니 다. @ echo onset REPOS =% 1set REV =% 2set RD =% RANDOM% 이것 은 무 작위 수 를 만 드 는 것 입 니 다. 파일 이름 을 반복 하지 않 기 위해 서 입 니 다.제출 충돌 방지 C: / "Program Files (x86)" / "VisualSVN Server" / bin / svnlook info% REPOS% > D: / TempFIle / INFO%RD%. txt 가 제출 한 사용자 시간 및 로그 정보 등 echo Following is the Commit COntent: > D: / TempFIle / INFO% 를 가 져 옵 니 다.RD%. txt 텍스트 처리 기본 동작 echo U means updateA means added new file_D means deleted>>D:/TempFIle/INFO_%RD%. txt 텍스트 처리 기본 동작 sed "1 i / dear:" D: / TempFIle / INFO%RD%.txt > D:/TempFIle/INFO_%RD%_1. txt 텍스트 처리 기본 동작 sed "3 i / COMMIT LOG MESSAGE:" D: / TempFIle / INFO%RD%_1.txt > D:/TempFIle/INFO_%RD%_2. txt 텍스트 처리 기본 동작 blat D: / TempFIle / INFO%RD%_2.txt -to%user%@**.**.com -bcc *@*.*.com -cc *@*.*.com -base64 -charset Gb2312 -subject "Subversion_Notes_COmmit_User_%user%_Version_%REV%"-server *.*.*.com -u scm -****** -f[email=**@*.*.com]**@*.*.com[/email]del d:/tempfile/*%rd%*.txtexit 0
그리고 여기 sed 명령 은 Linux 아래 Shell 명령 입 니 다. cygwin 을 설치 할 수 있 습 니 다 (http://www.cygwin.cn/site/install/)% cygwin% / bin 을% PATH% 에 추가 하면 sed grep cut 등 유연 한 Linux 아래 명령 을 마음대로 사용 할 수 있 습 니 다.
물론 이 스 크 립 트 들 을 유연 하 게 수정 할 수 있 습 니 다.잠 금 알림, 잠 금 해제 메 일 알림 등 기능 을 실현 할 수 있 습 니 다.이게 다 작은 케이스 야.
 
내 설정 예:
메 일 보 내기 설정: blat - install smtp. 163. [email protected] u mymailname - pwd mypassword 메 일 보 내기: blat d: / blat / body. txt - [email protected] -base64 -charset utf-8 -subject "test" -server smtp.163.com -u bill -pw myPassword
 
bill 의 post - commit. bat 내용
@ echo on set REPOS =% 1 set REV =% 2 set RD =% RANDOM% remi: 이것 은 무 작위 수 를 만 드 는 것 입 니 다. 파일 이름 을 반복 하지 않 기 위해 서 입 니 다.제출 충돌 방지 remi set COMMITUSER_=echo C:\"Program Files (x86)"\"VisualSVN Server"\bin\svnlook author %REPOS% SET AUT_FILE=G:\blat\INFO_%RD%-AUTHOR-%REV% C:\"Program Files (x86)"\"VisualSVN Server"\bin\svnlook author -r %REV% %REPOS%>%AUT_FILE% FOR /F %%A IN (%AUT_FILE%) DO SET AUTHOR=%%A C:\"Program Files (x86)"\"VisualSVN Server"\bin\svnlook info %REPOS% > G:\blat\INFO_%RD%. txt remi: 제출 한 사용자 시간 및 로그 정보 등 echo 를 가 져 옵 니 다. > > G: \ blat \ INFO%RD%. txt echo * * * * * * * * * * * * * * * * * * * * * 이하 제출 내용 * * * * * * * * * * * * * * * * * * * * * > > G: \ blat \ \ INFO%RD%. txt remi:: 텍스트 처리 기본 동작 echo. > G: \ blat \ \ INFO%RD%. txt echo * * * * * * * * * * * * * * * * * * * * * 변 경 된 파일 * * * * * * * * * * * * * * * * * * * * * > > G: \ blat \ \ INFO%RD%.txt C:\"Program Files (x86)"\"VisualSVN Server"\bin\svnlook changed %REPOS% >> G:\blat\INFO_%RD%. txt remi: 제출 한 사용자 가 변경 한 파일 echo 를 가 져 옵 니 다. > > G: \ blat \ \ INFO%RD%. txt echo * * * * * * * * * * * * * * * * * * * 변 경 된 코드 는 첨부 파일 * * * * * * * * * * * * * * * * * * > > G: \ blat \ \ \ INFO% 를 보십시오.RD%. txt echo * * * * * * * * * * * * * * * * * * * * * 변 경 된 코드 * * * * * * * * * * * * * * * * * * * * * > > G: \ blat \ \ INFO%REV%_diff.txt C:\"Program Files (x86)"\"VisualSVN Server"\bin\svnlook diff %REPOS% >> G:\blat\INFO_%REV%_diff. txt remi: 제출 한 사용자 가 변경 한 파일 을 가 져 옵 니 다 remi c: \ cygwin \ bin \ sed "1 i \ Modified:" G: \ blat \ \ INFO%RD%_1.txt >> G:\blat\INFO_%RD%. txt remi:: 텍스트 처리 기본 동작 c: \ cygwin \ bin \ \ unix2dos G: \ blat \ \ INFO%REV%_diff.txt rem ::sed "3 i\COMMIT LOG MESSAGE :" G:\blat\INFO_%RD%_1.txt > G:\blat\INFO_%RD%_2. txt: 텍스트 처리 기본 동작 g: \ \ blat \ blat G: \ blat \ \ \ INFO%RD%.txt -to [email protected],[email protected] -attach G:\blat\INFO_%REV%_diff.txt -base64 -charset Gb2312 -subject "Svn_T3_Commit_User_%AUTHOR%_Version_%REV%" -server smtp.163.com del G:\blat\*%rd%*.txt del G:\blat\*%REV%*.txt del %AUT_FILE% exit 0
 
고인 의 post - commit. bat 내용
@ECHO OFFSET REPOS=%1SET REV=%2SET SVNREP_DIR=C:/Documents and Settings/version_control/svn/sesameSET TRACDB_DIR=C:/Documents and Settings/version_control/trac/sesameSET PYTHON_DIR=C:/Python23SET SVN_DIR=C:/Program Files/SubversionSET HOOKS_DIR=%SVNREP_DIR%/hooksSET TRAC_ENV=%TRACDB_DIR%SET PYTHON="%PYTHON_DIR%/python.exe"SET SVN="%SVN_DIR%/bin/svn.exe"SET SVNADMIN="%SVN_DIR%/bin/svnadmin.exe"SET SVNLOOK="%SVN_DIR%/bin/svnlook.exe"::-----------------------------::Call the TRAC post-commit hook::SET TMP_LOG=%TEMP%./svnfileTMP-%REV%SET LOG_FILE=%TEMP%./svnfileR-%REV%svnlook log -r %REV% %REPOS%>%TMP_LOG%::napravi unicode cmd /c "type %TMP_LOG%>%LOG_FILE%"::type "%TMP_LOG%"SET AUT_FILE=%TEMP%./svnfileA-%REV%svnlook author -r %REV% %REPOS%>%AUT_FILE%:: SET THE AUTHOR FROM THE FILE. The file is expected to contain only one line with this valueFOR /F %%A IN (%AUT_FILE%) DO SET AUTHOR=%%A:: echo *** LOG FILE ***:: echo %REPOS%:%REV%>>log.txt:: echo %PYTHON% "%HOOKS_DIR%/trac-post-commit-hook" -p "%TRAC_ENV%" -r "%REV%" -u "%AUTHOR%" -m "file:%LOG_FILE%">>log.txttype %LOG_FILE%%PYTHON% "%HOOKS_DIR%/trac-post-commit-hook" -p "%TRAC_ENV%" -r "%REV%" -u "%AUTHOR%" -m "file:%LOG_FILE%"copy "%TMP_LOG%" "%HOOKS_DIR%"copy "%LOG_FILE%" "%HOOKS_DIR%"DEL %TMP_LOG%DEL %LOG_FILE%DEL %AUT_FILE%::::-----------------------------
 
Dos 테스트 방법 (bat 일괄 처리 파일 로 저장 가능):
set REPOS=F:\Repositories\A10_4.0_v1.5
set REV=41
set RD=%RANDOM%
SET AUT_FILE=G:\blat\INFO_%RD%-AUTHOR-%REV%
C:\"Program Files (x86)"\"VisualSVN Server"\bin\svnlook info %REPOS% > G:\blat\INFO_%RD%.txt
C:\"Program Files (x86)"\"VisualSVN Server"\bin\svnlook diff %REPOS% >> G:\blat\INFO_%REV%_diff.txt 
g:\blat\blat G:\blat\INFO_%RD%.txt -to 
liuyihui8@qq.com -attach G:\blat\INFO_%REV%_diff.txt -base64 -charset Gb2312 -subject "Svn_A10_4.0_v1.5_Commit_User_%AUTHOR%_Version_%REV%" -server smtp.163.com -u liuyihui8 -pwd password
   

좋은 웹페이지 즐겨찾기