SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 6343|回复: 12

[求助] SVN提交自动将log发邮件给相关人的hooks如何写

[复制链接]
发表于 2013-2-22 10:59:48 | 显示全部楼层 |阅读模式
本帖最后由 gaojianhang 于 2013-2-22 11:03 编辑 . @. v' `- F6 N; L* V: Z( C
" N, G! c/ k2 r/ B. S/ F1 |
大家好,
: M: I: p0 s) z# @      我想在SVN提交的时候自动将 本次提交的log信息自动邮件给相关人。在网上查了一下方法,但实施起来没有报错也没有发邮件,请各位大神帮忙看看。4 u0 |. e8 V0 T, g. k

% G8 K  D0 ~% V9 `$ LWindows下的SVN邮件通知$ Q/ q9 [; k1 E1 L# A
                                               
1 Q* w/ I0 }) c! }' p6 K0 N一、下载
; ~; _3 Y. D3 Z- ~下载所需要的软件包* b7 |$ P9 `& f$ C
http://sourceforge.net/projects/blat/files/下载blat194.zip文件;
7 p- q' H# o/ K" \2 ohttp://unxutils.sourceforge.net/下载UnxUpdates.zip文件;
7 ^7 s' `5 Y0 N0 N5 ~+ ~+ k1 }# `0 W
二、安装  Q7 h# z7 {2 g% ?
1.把blat194.zip解压,把里面的blat.exe拷贝到D:\SVN\Subversion\bin
) c/ a  D7 f. `. t( x% R" W2.把UnxUpdates解压,把里面的sed.exe和wc.exe拷贝到D:\SVN\Subversion\bin* m: N9 ?% Z6 s* [

# s) D8 a' p; f) \下面将post-commit.bat内容贴出:
( T" q' C, }) `- c@echo on+ E7 G2 l+ k! }2 P% x% F

! L5 t8 O# Y! n1 d" o, O. r+ C9 Zset REPOS=%1
1 M4 m0 P7 I# G2 ~, q8 L; p+ ^set REV=%2
( G. C6 Z& r) p2 h; e, k: |( T, oset RD=%RANDOM%   “这个是产生随机数,为的是不要重复文件名。避免发生提交冲突”
  a) d3 _! N* k0 ]9 Fset PATH=D:\SVN\Subversion;D:\SVN\Subversion\bin;" A' p. X( x3 G8 g
set SMTP=-subject "SVN COMMIT NOTES" -server smtp.163.com -u tclstb -pw tcldqa123456 -f  tclstb@163.com -charset utf-8
$ S- \+ e$ U  t: V  `set LOG_BASE=E:\SVN_TEMP_LOGS9 T5 W1 F0 J' R8 i$ V  k
% M* {7 i0 |" d, Q" M4 r' R
svnlook info %REPOS% > %LOG_BASE%\MSG_%RD%.txt   “获取执行提交的用户 时间 以及日志信息等等”
5 @9 g/ w6 c8 z. a6 l$ \, p/ K: X: o+ X
svnlook changed %REPOS% >> %LOG_BASE%\MSG_%RD%.txt
4 k4 P- y9 c  z, _# c
) t! x) f) @: I! Z, y& Oecho The Current Version After Commit :%REV% >> %LOG_BASE%\MSG_%RD%.txt  “文本处理基本操作”
3 ?4 f( X; f+ Y  N5 m/ t- z
# U! J! r+ x3 a. `! \# X' ]set PROJ_NAME=BTP155" i1 Y; L) g* h2 m( h( r
set PROJ_EMAIL= 我自己的邮箱7 C$ f* S' P+ V+ W4 ~; ?
set PROJ_MATCH=0+ P5 _, V2 A$ G0 d& l7 o2 k9 E
for /f "tokens=1" %%G IN ('sed -n -e "/%PROJ_NAME%/p" %LOG_BASE%\MSG_%RD%.txt ^| wc') DO set  PROJ_MATCH=%%G
; L8 g% b2 A5 L* ?: n, f& @if %PROJ_MATCH% GTR 0 blat %LOG_BASE%\MSG_%RD%.txt -to  %PROJ_EMAIL% %SMTP%1 Y1 H) A( _& G6 U' i/ v/ Z, E  C
, C, `; f' ?% ^# y: M
exit 0
0 V$ R' C2 F& A0 E; r! Y0 {
发表于 2013-2-22 11:15:09 | 显示全部楼层
set PATH=D:\SVN\Subversion;D:\SVN\Subversion\bin;
  l+ Z& U3 d+ T; p+ n这个地址怎么有两个?
4 e, }5 ]4 |7 o; E1 U0 }* r, l: R$ {
附件为我现在用的SVN邮件代码,也是使用blat,仅供参考。
: T& y7 y$ D% N5 z

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 1 反对 0

使用道具 举报

发表于 2013-2-22 11:09:28 | 显示全部楼层
好高级呀,偶不会 给你顶一下
回复 支持 反对

使用道具 举报

发表于 2013-2-22 11:11:55 | 显示全部楼层
坐等高手解答
回复 支持 反对

使用道具 举报

发表于 2013-2-22 11:22:57 | 显示全部楼层
附上邮件格式

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金钱 +10 收起 理由
gaojianhang + 10 谢谢。十分感谢

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-22 14:12:28 | 显示全部楼层
试了,没调通。还是没有发邮件。请指点一下。
; z5 ]& f$ t( M5 i我确定 c:\csvn\bin 下面有blat.exe+ n3 ?, m2 J8 G, I0 G8 L
. g1 l9 U$ K2 i& j9 i3 v
我是把你发的脚本复制到post.commit.bat里面了。
- @& s* s* |! m修改了几个地方:
/ e4 o. Y+ [) A" F2 {2 y1、set SVN_BINDIR=c:\csvn\bin$ B& L! @4 i  W% L) A$ C9 c% ?7 \: b; h, y
2、
% w1 j( @. ]* R; B' {blat "%LOG_FILE%" -tf D:\Repositories\HIE_GrouList.txt  -server smtp.xxxx.com(发邮件的协议地址) -f 我的邮箱 -u 我的邮箱 -pw 邮箱密码  -subject "[SVN]rev %REV%, Commit by %Author%" -base64 -charset Gb2312
  b' A* t1 o2 _5 @! K; r$ E7 |! ^7 W+ `/ U3 b) J! n* A
还有什么地方需要注意。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-23 11:50:43 | 显示全部楼层
可以了。! `% U- {2 {( O& H+ q1 Y# z7 O) r
但是问题出来了。
% i8 p  Z6 ~; _" e' z我们同一个配置库下 branches下面有好多量产分支,我只关心某个分支,这个分支上提交我想收到邮件。
0 h/ N4 l2 }5 l) ]. e现在对整个配置库提交,我都能收到邮件。垃圾邮件忒多了。怎么能过滤一下
回复 支持 反对

使用道具 举报

发表于 2013-2-25 17:05:04 | 显示全部楼层
非常实用的小功能,支持一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-26 14:34:29 | 显示全部楼层
gaojianhang 发表于 2013-2-23 11:50 : {4 N+ U; s! z) z# o% f
可以了。; u% A" X& z4 c2 e, h( r) W
但是问题出来了。
! p" r* d/ {9 |6 L! n' F我们同一个配置库下 branches下面有好多量产分支,我只关心某个分支,这个分支 ...
, D/ V* g  ]) V' h$ `. b
这个问题,谁能帮忙看一下1 ]  c! {* w2 J* S) J8 x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-25 16:28:15 | 显示全部楼层
几年过去了。 任何问题都比不过时间。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2019-4-24 15:07 , Processed in 0.068141 second(s), 8 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

快速回复 返回顶部 返回列表