SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 6181|回复: 12

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

[复制链接]
发表于 2013-2-22 10:59:48 | 显示全部楼层 |阅读模式
本帖最后由 gaojianhang 于 2013-2-22 11:03 编辑
: C4 F" |6 l- @$ Z" u2 T  e6 }& x! F% k' R& f! ^; ?
大家好,1 X. _% j& k; T6 ]- K
      我想在SVN提交的时候自动将 本次提交的log信息自动邮件给相关人。在网上查了一下方法,但实施起来没有报错也没有发邮件,请各位大神帮忙看看。. N8 O. _) c- j0 D' j+ Y. d
" z* l$ t7 J+ n5 A, T8 i
Windows下的SVN邮件通知' c" t' z- W* G
                                               
) \- j- k7 ^5 ]. {  }一、下载
! ~9 X/ b# X3 T8 ^下载所需要的软件包2 ], W' w* M0 ]! M& j! }6 C5 B2 O
http://sourceforge.net/projects/blat/files/下载blat194.zip文件;! W* \2 o- |1 t. x; z
http://unxutils.sourceforge.net/下载UnxUpdates.zip文件;5 s6 ]- Y9 d  M) N0 x

2 W+ w. W( O0 q0 _* o& S1 D二、安装+ ~. t( g- e4 p% |& N9 h. a
1.把blat194.zip解压,把里面的blat.exe拷贝到D:\SVN\Subversion\bin  k4 ?) P# E- k! b( ]
2.把UnxUpdates解压,把里面的sed.exe和wc.exe拷贝到D:\SVN\Subversion\bin% I9 v4 x6 g) n9 F

7 d; J: k+ c* q, O& I下面将post-commit.bat内容贴出:/ d. v3 v+ R, P5 z: l' `' Z
@echo on
0 v2 I2 ?% w+ }  [8 T% V) b6 x) v* v3 u4 R0 G
set REPOS=%19 J) D7 D8 h5 W# C7 u
set REV=%2
3 p4 X! H8 N6 E4 i/ G- Q8 Lset RD=%RANDOM%   “这个是产生随机数,为的是不要重复文件名。避免发生提交冲突”
% Q# ]# j6 w% j5 g9 Z# Hset PATH=D:\SVN\Subversion;D:\SVN\Subversion\bin;1 i- s8 c) _/ {& h3 t
set SMTP=-subject "SVN COMMIT NOTES" -server smtp.163.com -u tclstb -pw tcldqa123456 -f  tclstb@163.com -charset utf-8
2 T7 H- Q  ^: g4 sset LOG_BASE=E:\SVN_TEMP_LOGS( s' y7 i+ L0 r! B& Q6 O
2 b7 Q" L4 v% L9 Q3 I. z! M0 f
svnlook info %REPOS% > %LOG_BASE%\MSG_%RD%.txt   “获取执行提交的用户 时间 以及日志信息等等”' i2 d4 p, n4 R& n, V# ^

& ^+ ^$ \/ s# b' N+ N6 V2 tsvnlook changed %REPOS% >> %LOG_BASE%\MSG_%RD%.txt4 m( q# [2 o, g# P& Y

- U& P' k  j. x' R2 F, \echo The Current Version After Commit :%REV% >> %LOG_BASE%\MSG_%RD%.txt  “文本处理基本操作”
8 `: V% l$ f; P" B% `; A- g" Q8 z( q9 u8 `$ P, g
set PROJ_NAME=BTP155/ f8 x! R& c) U* r
set PROJ_EMAIL= 我自己的邮箱
. C9 _; I. @) Mset PROJ_MATCH=0
( t4 {" o8 u5 G4 Ufor /f "tokens=1" %%G IN ('sed -n -e "/%PROJ_NAME%/p" %LOG_BASE%\MSG_%RD%.txt ^| wc') DO set  PROJ_MATCH=%%G
7 Q/ v8 D# [0 z- H7 n' Bif %PROJ_MATCH% GTR 0 blat %LOG_BASE%\MSG_%RD%.txt -to  %PROJ_EMAIL% %SMTP%
6 ?6 A% }4 n9 T. e: t% m( @4 n0 [/ @/ P
exit 0) P1 Z% i7 @+ f0 j) w' y5 E
发表于 2013-2-22 11:15:09 | 显示全部楼层
set PATH=D:\SVN\Subversion;D:\SVN\Subversion\bin;
; W9 H5 ?# g6 T3 B, P2 G/ L( r/ x! i( N这个地址怎么有两个?
+ o8 K. e$ w6 L' Y( b2 {4 [4 c
4 a, t: `* X5 I, M* Y/ b% i6 ~; B  i附件为我现在用的SVN邮件代码,也是使用blat,仅供参考。# |7 q6 Y5 R+ h8 p6 T

本帖子中包含更多资源

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

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 | 显示全部楼层
试了,没调通。还是没有发邮件。请指点一下。
1 \+ l" ~* R0 g我确定 c:\csvn\bin 下面有blat.exe
7 h6 a4 c  `6 b+ \. Z: C) H) L
( e$ o/ [1 o$ f5 p我是把你发的脚本复制到post.commit.bat里面了。
* I( R9 r' ?8 Q修改了几个地方:
' @$ H& t% r" `7 q) D1、set SVN_BINDIR=c:\csvn\bin" T6 ~/ [8 c9 b2 s! W* ?
2、+ S  i  L0 `9 S5 v- _# `8 W
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& z4 U. j/ G4 T) C$ U) Z% v% f; r% Z/ L) f0 Z& ^9 G6 p
还有什么地方需要注意。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-23 11:50:43 | 显示全部楼层
可以了。
7 H& d! s% Q% v, Y6 Y! j但是问题出来了。2 Q" }% S' G4 l* c
我们同一个配置库下 branches下面有好多量产分支,我只关心某个分支,这个分支上提交我想收到邮件。
  p0 Z  s+ R( I; n+ T3 }现在对整个配置库提交,我都能收到邮件。垃圾邮件忒多了。怎么能过滤一下
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2013-2-26 14:34:29 | 显示全部楼层
gaojianhang 发表于 2013-2-23 11:50 + f7 J1 }# h1 |  L: s. G$ S
可以了。" n* e/ F& [- J* J+ u/ e
但是问题出来了。
8 I+ |7 a8 z! ?4 M我们同一个配置库下 branches下面有好多量产分支,我只关心某个分支,这个分支 ...

4 O- [6 y; K8 }' @1 M& c, ~" ]这个问题,谁能帮忙看一下2 H' E* ~6 e' ?; E) g+ D
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

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

GMT+8, 2019-2-19 20:10 , Processed in 0.080657 second(s), 15 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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