SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5935|回复: 12

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

[复制链接]
发表于 2013-2-22 10:59:48 | 显示全部楼层 |阅读模式
本帖最后由 gaojianhang 于 2013-2-22 11:03 编辑
; z; a: @0 I3 v
% f  i& P, r  F' T大家好,
% d- \0 t, r/ K, O, i      我想在SVN提交的时候自动将 本次提交的log信息自动邮件给相关人。在网上查了一下方法,但实施起来没有报错也没有发邮件,请各位大神帮忙看看。
! B  h9 C; d7 g1 c: N* N
+ s( x- ^4 k7 i* NWindows下的SVN邮件通知
: Y4 {; t7 Q5 S: \+ _1 O; i( [                                               
( k* L. f4 q$ n. k/ G0 U' o一、下载2 R& r+ f7 L" b2 b+ P8 [% K* ?0 s
下载所需要的软件包2 h* p' f9 l9 L
http://sourceforge.net/projects/blat/files/下载blat194.zip文件;- Y9 `2 d$ Q' c
http://unxutils.sourceforge.net/下载UnxUpdates.zip文件;
8 q  B) B# Z+ b
6 t* }% V/ h' t3 ?+ D' ~* b二、安装/ R) k8 X! b- [! ~
1.把blat194.zip解压,把里面的blat.exe拷贝到D:\SVN\Subversion\bin5 c9 U8 x% ?+ P/ G
2.把UnxUpdates解压,把里面的sed.exe和wc.exe拷贝到D:\SVN\Subversion\bin
9 V4 Q3 t2 O$ z$ }4 J8 H
7 z$ l' n% i5 [$ G( Z9 [6 g下面将post-commit.bat内容贴出:  w. [# h2 Q6 y- u6 N
@echo on
# \8 P! p% k) t: g0 [5 c
+ `) F: \0 V# L; @set REPOS=%1
* U' M" A9 J' H* yset REV=%2
! Z; V  @% y! ^, zset RD=%RANDOM%   “这个是产生随机数,为的是不要重复文件名。避免发生提交冲突”7 u, }$ H( p  g+ V0 ^' \
set PATH=D:\SVN\Subversion;D:\SVN\Subversion\bin;% I- H( x: J# p  C0 F6 h
set SMTP=-subject "SVN COMMIT NOTES" -server smtp.163.com -u tclstb -pw tcldqa123456 -f  tclstb@163.com -charset utf-8
: U3 H, I5 A& Kset LOG_BASE=E:\SVN_TEMP_LOGS$ T* d( W2 c: g

$ N8 D5 {, o; u2 a( d$ rsvnlook info %REPOS% > %LOG_BASE%\MSG_%RD%.txt   “获取执行提交的用户 时间 以及日志信息等等”/ D3 k5 |6 ]8 J8 N
4 L! E+ u3 R5 ~5 o6 ?& C
svnlook changed %REPOS% >> %LOG_BASE%\MSG_%RD%.txt' i0 N* [% X) d: E! Z6 |* E3 D
- V8 ~4 f8 b( K
echo The Current Version After Commit :%REV% >> %LOG_BASE%\MSG_%RD%.txt  “文本处理基本操作”4 C4 s# K- [0 L$ \2 |

' r4 R2 L  |# ~( X1 Sset PROJ_NAME=BTP155/ [/ _6 y/ e1 h9 U
set PROJ_EMAIL= 我自己的邮箱* Y- x& h- {$ _, U5 n
set PROJ_MATCH=0
" G% |5 E( R9 v6 A0 y( G/ Nfor /f "tokens=1" %%G IN ('sed -n -e "/%PROJ_NAME%/p" %LOG_BASE%\MSG_%RD%.txt ^| wc') DO set  PROJ_MATCH=%%G2 D, S+ t. a' \
if %PROJ_MATCH% GTR 0 blat %LOG_BASE%\MSG_%RD%.txt -to  %PROJ_EMAIL% %SMTP%- {0 A! B8 h+ I: M
' Q1 s  Z* ?! n5 m3 q. L: l
exit 0" e9 ~" a: @7 `
发表于 2013-2-22 11:15:09 | 显示全部楼层
set PATH=D:\SVN\Subversion;D:\SVN\Subversion\bin;
. m: u/ W3 e9 w  `7 J5 @+ J这个地址怎么有两个?
. f) r2 t$ ]0 T/ o/ V+ o# e( `
+ H6 O+ y, z0 R7 `附件为我现在用的SVN邮件代码,也是使用blat,仅供参考。
- O/ m' R1 |; K, f% C! ?. a

本帖子中包含更多资源

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

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 | 显示全部楼层
试了,没调通。还是没有发邮件。请指点一下。
8 ?) R: S6 G  u* W3 y! _我确定 c:\csvn\bin 下面有blat.exe* Y' v0 \- h! T

" e# R6 b9 g" [) z0 r我是把你发的脚本复制到post.commit.bat里面了。. r8 r4 ~. A9 U8 W; N3 E# N' x8 t
修改了几个地方:, f* w* ~8 D( J
1、set SVN_BINDIR=c:\csvn\bin7 j6 V- A2 Y( w' M
2、
7 y$ `2 I: l% z3 L. Yblat "%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 ( V6 E  C! |/ y1 m7 \. o' N3 O
2 S1 F& z( J( S% z  O
还有什么地方需要注意。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-23 11:50:43 | 显示全部楼层
可以了。% f# L% ^5 O+ q4 q( Y9 a8 |: I
但是问题出来了。/ d# g6 j( Z' k& k/ R
我们同一个配置库下 branches下面有好多量产分支,我只关心某个分支,这个分支上提交我想收到邮件。# Q* o  s1 N0 p: [: ^
现在对整个配置库提交,我都能收到邮件。垃圾邮件忒多了。怎么能过滤一下
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2013-2-26 14:34:29 | 显示全部楼层
gaojianhang 发表于 2013-2-23 11:50 & |5 w7 y5 T1 m' G& w3 y
可以了。
2 `7 v8 {3 r+ p, f7 d/ q但是问题出来了。. I0 S+ X' F. F3 I5 H% p. A
我们同一个配置库下 branches下面有好多量产分支,我只关心某个分支,这个分支 ...

" G, s+ w7 \( G+ Q% P5 W9 }5 G这个问题,谁能帮忙看一下5 t$ v' D- `5 K% Z$ s
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

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

GMT+8, 2018-12-11 22:51 , Processed in 0.092588 second(s), 8 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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