SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5441|回复: 12

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

[复制链接]
发表于 2013-2-22 10:59:48 | 显示全部楼层 |阅读模式
本帖最后由 gaojianhang 于 2013-2-22 11:03 编辑 & |9 T" x7 n! X; S% F
; W. Y$ }4 s' x/ T# F* u9 ^& R# r
大家好,
3 w9 f& P! G3 e( n5 n6 I9 b      我想在SVN提交的时候自动将 本次提交的log信息自动邮件给相关人。在网上查了一下方法,但实施起来没有报错也没有发邮件,请各位大神帮忙看看。) V6 O5 e  N: o# `- s

; h: d9 `' H/ M8 r. R  kWindows下的SVN邮件通知
) e7 ]& u: k% B/ x. P! h                                               1 j1 I# E/ a  @; K/ I( u/ d
一、下载
2 [' a- o7 N6 o+ C" Q下载所需要的软件包; ^0 s- D3 P/ v( A' u9 F( p/ T. _
http://sourceforge.net/projects/blat/files/下载blat194.zip文件;
$ C5 B, O3 f( }1 w/ u6 [4 Vhttp://unxutils.sourceforge.net/下载UnxUpdates.zip文件;
& h" k3 y, J7 F, ^. K7 ~2 [  H8 j2 Z: v0 L2 R
二、安装2 F% r4 D7 S( G3 K9 O+ O! d2 j
1.把blat194.zip解压,把里面的blat.exe拷贝到D:\SVN\Subversion\bin
$ S" M2 T2 k/ I; Y5 E9 @2.把UnxUpdates解压,把里面的sed.exe和wc.exe拷贝到D:\SVN\Subversion\bin
8 n, o% k) W4 j! F2 }5 T. _; I5 [$ u
! i  e+ R$ H* C& H下面将post-commit.bat内容贴出:
1 ^' E2 \7 j: z! W  N. j4 l7 B@echo on
. G" o* i( E* D8 G8 c) P2 ~: Z+ Z
* j7 U7 O- m/ p- O6 B; Vset REPOS=%1+ n  C0 Z3 \1 K& E$ ^7 M
set REV=%2: e1 F2 B8 c; U" N( }% U
set RD=%RANDOM%   “这个是产生随机数,为的是不要重复文件名。避免发生提交冲突”
8 m3 \3 l. b: c& b! i9 H6 l% Lset PATH=D:\SVN\Subversion;D:\SVN\Subversion\bin;
" u$ C: l! k5 ^/ Fset SMTP=-subject "SVN COMMIT NOTES" -server smtp.163.com -u tclstb -pw tcldqa123456 -f  tclstb@163.com -charset utf-8
# v# W& J# R# y6 {& i% J* d; L' ?set LOG_BASE=E:\SVN_TEMP_LOGS7 A1 K$ Z6 ~$ G: p; G, z
! C3 X$ t+ v9 R; G- _% M! L/ ^
svnlook info %REPOS% > %LOG_BASE%\MSG_%RD%.txt   “获取执行提交的用户 时间 以及日志信息等等”( G& @9 _/ M/ j- ^, q
2 R. d! ]0 I" R. c; M
svnlook changed %REPOS% >> %LOG_BASE%\MSG_%RD%.txt+ `6 V4 z1 C/ }, x
; q9 @& O3 L+ Z* v
echo The Current Version After Commit :%REV% >> %LOG_BASE%\MSG_%RD%.txt  “文本处理基本操作”
3 `9 w# z: B5 b: l. J) X, D, Y
2 q# m# t7 a1 z4 Sset PROJ_NAME=BTP155
3 z1 L7 L* j$ q8 M4 C: `' e  O7 Yset PROJ_EMAIL= 我自己的邮箱3 ~" a! g, O% K. z7 O
set PROJ_MATCH=03 ]% Y2 `) r# [/ q0 h4 s4 V1 T
for /f "tokens=1" %%G IN ('sed -n -e "/%PROJ_NAME%/p" %LOG_BASE%\MSG_%RD%.txt ^| wc') DO set  PROJ_MATCH=%%G, H* O' s8 ]' U% Y
if %PROJ_MATCH% GTR 0 blat %LOG_BASE%\MSG_%RD%.txt -to  %PROJ_EMAIL% %SMTP%) i# w$ Y: m5 N* u( V7 k
" A7 B1 i/ c& K/ n+ U9 d, V$ @0 E
exit 06 F  H0 J# E2 X( e% `! m0 ^
发表于 2013-2-22 11:15:09 | 显示全部楼层
set PATH=D:\SVN\Subversion;D:\SVN\Subversion\bin;# i; x4 i4 n- `/ h9 c
这个地址怎么有两个?- Z* [% d* `4 C2 r6 j# b

4 h/ ^. l& }4 {附件为我现在用的SVN邮件代码,也是使用blat,仅供参考。2 i) L: g! Q$ f- h( o

本帖子中包含更多资源

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

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 | 显示全部楼层
试了,没调通。还是没有发邮件。请指点一下。5 {0 S) g2 M- Q2 Y6 m& v
我确定 c:\csvn\bin 下面有blat.exe
" j/ D' z* V8 Z: ~0 r/ N# l2 i* ]; M  `) y0 }
我是把你发的脚本复制到post.commit.bat里面了。
4 s1 ]5 L( }+ N( }修改了几个地方:' C  v/ n9 [+ @& y, A: T* ^
1、set SVN_BINDIR=c:\csvn\bin
; c& G. S- c; E) A" E2、
8 g, F5 G! Q$ H/ eblat "%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 6 S( \. z" r$ P, V8 z

# J% i& R3 i4 j还有什么地方需要注意。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-23 11:50:43 | 显示全部楼层
可以了。9 B6 K3 q5 m. F2 ?' {- \
但是问题出来了。
1 U" A: z, L3 P. c8 w1 B4 ^我们同一个配置库下 branches下面有好多量产分支,我只关心某个分支,这个分支上提交我想收到邮件。
8 O; _5 D7 w9 m  f/ i现在对整个配置库提交,我都能收到邮件。垃圾邮件忒多了。怎么能过滤一下
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2013-2-26 14:34:29 | 显示全部楼层
gaojianhang 发表于 2013-2-23 11:50
6 @' c% j% g3 X/ s可以了。
5 G8 d( J+ r, ~但是问题出来了。& I' o3 {# C6 D) [
我们同一个配置库下 branches下面有好多量产分支,我只关心某个分支,这个分支 ...
5 o& \' t# j, @3 l  D9 F, _
这个问题,谁能帮忙看一下
8 R. }4 u, a3 u% F$ ?
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

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

GMT+8, 2018-6-24 15:23 , Processed in 0.071578 second(s), 8 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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