SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5716|回复: 12

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

[复制链接]
发表于 2013-2-22 10:59:48 | 显示全部楼层 |阅读模式
本帖最后由 gaojianhang 于 2013-2-22 11:03 编辑 - |/ _1 @1 \, W7 D2 _( H
( Z+ P* O9 c* j! V( m7 P
大家好,
' G% d! \8 O8 a2 y      我想在SVN提交的时候自动将 本次提交的log信息自动邮件给相关人。在网上查了一下方法,但实施起来没有报错也没有发邮件,请各位大神帮忙看看。
6 J8 ?3 j! {. n) b  O. D& Z
( L0 T: [; E$ ?) tWindows下的SVN邮件通知
$ I2 z8 |! @$ r% h  ^2 u, q! }                                               0 s7 G2 ?% d: T  N8 }& z
一、下载
* T( P! R- }$ C' T9 F, j下载所需要的软件包2 s! F4 F# g) y" n. u9 d
http://sourceforge.net/projects/blat/files/下载blat194.zip文件;
" [( L! g& c# ~9 u' }, rhttp://unxutils.sourceforge.net/下载UnxUpdates.zip文件;
) o4 I+ p. I# }( w% w1 \; G
' E1 J; l. o. v' A7 ]" A% w二、安装0 d* Q1 f7 b  c! t3 K
1.把blat194.zip解压,把里面的blat.exe拷贝到D:\SVN\Subversion\bin
  _$ l1 s7 c( D7 ?; m9 C3 I2.把UnxUpdates解压,把里面的sed.exe和wc.exe拷贝到D:\SVN\Subversion\bin
' v7 w1 Z7 f( r! I+ t; a9 ]
$ ^3 o( w3 g% s3 E下面将post-commit.bat内容贴出:! Q* q3 q) y0 w7 @9 r+ B4 S
@echo on& }2 _$ n+ r# u: H5 N

2 v) j" `& X0 o; l* E# G2 v; a0 Hset REPOS=%1
. l; T- c& Z& B2 b2 o1 [* Lset REV=%2
& t  l1 a6 `! Z7 [; a$ Jset RD=%RANDOM%   “这个是产生随机数,为的是不要重复文件名。避免发生提交冲突”" g3 d3 [; r* i$ c% f" H, G
set PATH=D:\SVN\Subversion;D:\SVN\Subversion\bin;" P/ t# a+ k. C9 X5 y- R
set SMTP=-subject "SVN COMMIT NOTES" -server smtp.163.com -u tclstb -pw tcldqa123456 -f  tclstb@163.com -charset utf-81 [/ m6 a" l8 S+ O0 }( r/ n3 o
set LOG_BASE=E:\SVN_TEMP_LOGS& `, J8 n2 ]# W' H; P7 H
( W, \& D. o4 f4 E, i) T
svnlook info %REPOS% > %LOG_BASE%\MSG_%RD%.txt   “获取执行提交的用户 时间 以及日志信息等等”  y7 e, A5 ~% g: H2 _$ U% i7 w
7 a& u, ^; D; [5 V# F" T# h
svnlook changed %REPOS% >> %LOG_BASE%\MSG_%RD%.txt
& S, u( [2 y9 w8 d- U
# I/ m, t% q8 N: ^% w9 J: Wecho The Current Version After Commit :%REV% >> %LOG_BASE%\MSG_%RD%.txt  “文本处理基本操作”( a6 ]# F$ _; L; n6 ?9 q0 O

, p7 q8 k7 ~7 k4 b: W3 lset PROJ_NAME=BTP155
. m. U1 _$ N( B4 w. A8 rset PROJ_EMAIL= 我自己的邮箱! r4 j% c+ M! G1 a( ~) h! y# C& s
set PROJ_MATCH=0
3 x2 J  O- m3 q) T5 n& f7 Mfor /f "tokens=1" %%G IN ('sed -n -e "/%PROJ_NAME%/p" %LOG_BASE%\MSG_%RD%.txt ^| wc') DO set  PROJ_MATCH=%%G
' L) w- V6 Q( u- Z: ^$ ?* u  _3 b- {* aif %PROJ_MATCH% GTR 0 blat %LOG_BASE%\MSG_%RD%.txt -to  %PROJ_EMAIL% %SMTP%3 Y( r/ r, p+ }1 J( E8 \
( @6 j+ ^3 g" V+ ~. V) d% f
exit 0
" G+ t% i3 P: J7 C. L; A# E
发表于 2013-2-22 11:15:09 | 显示全部楼层
set PATH=D:\SVN\Subversion;D:\SVN\Subversion\bin;3 i% Y% _' L4 M$ v8 ?% {: l6 i
这个地址怎么有两个?9 R. x6 Z8 Z3 I% v. _) e% O, y

7 D# }9 N+ l. T% B附件为我现在用的SVN邮件代码,也是使用blat,仅供参考。2 ~/ }3 ?8 n4 K6 Y/ |

本帖子中包含更多资源

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

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 | 显示全部楼层
试了,没调通。还是没有发邮件。请指点一下。7 _% Z9 n$ X: d- D5 W  p* F3 b
我确定 c:\csvn\bin 下面有blat.exe% n; Y9 I# `9 \& X: E0 L$ b3 r

4 M; o# O+ ]# s, c& Q我是把你发的脚本复制到post.commit.bat里面了。
& ~* ?0 N2 f# }4 |0 ?修改了几个地方:
' X! B( r( X7 T( a2 Z1、set SVN_BINDIR=c:\csvn\bin
! {/ M( q6 W* L' S2、
  v: \% h# E' e4 o6 b: Ublat "%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
' l# k1 |5 M. m* N6 u, j0 V! Y% y/ R3 e, ^( o) R! u7 }  Q# o. A1 H
还有什么地方需要注意。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-23 11:50:43 | 显示全部楼层
可以了。
) h1 [. a2 _6 ]/ c9 I5 \# m但是问题出来了。
0 T$ z8 r1 v" I& M3 b0 y, s我们同一个配置库下 branches下面有好多量产分支,我只关心某个分支,这个分支上提交我想收到邮件。
% N3 m: q+ m+ k) L2 @! L7 R现在对整个配置库提交,我都能收到邮件。垃圾邮件忒多了。怎么能过滤一下
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2013-2-26 14:34:29 | 显示全部楼层
gaojianhang 发表于 2013-2-23 11:50
: c7 o: J0 W! F! a. l3 F6 L( ?可以了。3 W1 B/ n( l- N9 ~& Z
但是问题出来了。) L8 A+ H2 d3 j+ w7 t
我们同一个配置库下 branches下面有好多量产分支,我只关心某个分支,这个分支 ...

& m! A8 r2 [% O. l, D, @, g' u这个问题,谁能帮忙看一下
5 B7 `+ F  I# H- O! D( |
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

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

GMT+8, 2018-9-19 23:39 , Processed in 0.091410 second(s), 9 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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