SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: go2cxg

[原创] Hooks总结-从入门到精通~欢迎跟帖,提钩子脚本需求!

  [复制链接]
 楼主| 发表于 2010-7-19 15:55:24 | 显示全部楼层

制定目录提交Commit Log的判断

LOGS=`$SVNLOOK log  -t "$TXN" "$REPOS"|sed 's/^ *//'|grep -i "^\[r[0-9]\{5,6\}\]\[fix bug\#[0-9]\{5,7\}\]"`5 f" m6 O7 m# X# c1 c. _% b
CHANGED=`$SVNLOOK changed -t "$TXN"  "$REPOS"|grep branches|grep "Release-0.8.100517"|wc -l`) Q' d# j( ]) n% Q4 O
8 U6 K! P( f% v2 E
if [ $CHANGED -gt 0 ]
5 g6 {6 _+ w/ sthen
  ~. m7 a! h, q. T* W! L        if [  "$LOGS" =  "" ]/ n/ h, W. z) J$ v8 G
        then6 j6 g( u/ x' g: B' S
echo -e "\n You Must Write the commit log like:[R12375][fix bug#57020]... on the branch Release-0.8.100517,Thanks" 1>&2
5 B/ ?* P9 y& W  Y  D, q; f        exit 1
& X) S$ m3 P/ @7 E9 U        fi. B2 ^1 ]& {+ X# P; k$ c
fi* J7 T3 L0 K, J2 e
##################################
' y6 i3 ~4 ]- H" }5 r5 m0 u#完成的功能
/ I) ]5 H" p2 {. V" ~3 o在分支Release-0.8.100517里面提交的Commit Log的格式必须如下5 Z' K: U8 ~8 Q0 n
[R12357][fix bug#88878].
$ K# v! |: c- g/ y* ]大小写不限,前面两个[]里面的东东是必选的: C& n/ u" O6 h) }7 c' ^2 P

$ j; C1 {$ e5 q7 C) C# e1 p8 z[ 本帖最后由 go2cxg 于 2010-7-19 15:59 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2010-7-20 14:37:18 | 显示全部楼层
請問. I  J" S5 Y( ~9 r/ N0 }
1.將 pre-lock.tmpl 改為 pre-lock, lock 英文檔名時正常, 但中文檔名就一直掛在鎖定作業中
6 l/ x9 p* Q, C& ^- ?& Y   可如何排除?4 l! w# S) P2 M7 l9 o

% ~6 b% I6 L; Y9 j  N! _  x使用環境5 z3 e) }- \4 L3 Q
CentOS 5.4, Subversion 1.6.9
, J2 k  K. z6 J+ Q* S0 Y) c3 `7 F3 M% {5 i$ a0 ]7 n; j3 s
[ 本帖最后由 dumas 于 2010-7-20 16:51 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-20 22:50:20 | 显示全部楼层
可否将错误粘贴出来呢?
回复 支持 反对

使用道具 举报

发表于 2010-7-21 09:20:17 | 显示全部楼层
谢谢共享,可以想到的几个业务场景
! S: i2 X9 o0 ~) {1。镜像库同步(包含出错后自动纠错)3 d* p+ v  s) @9 n. y8 a
2。象Vss一样的串行锁) ~0 T2 L& S0 Q  h# i0 B
3。防止开发者提交代码修改不带注释
8 q4 J5 Q& L" T/ A5 i5 k4。只允许指定人员执行删除动作
/ Q" K& }% Y5 Z( L6 p7 _1 U' y5。只允许指定人员修改错误注释信息
7 D- ]& W, }& w( I等等
回复 支持 反对

使用道具 举报

发表于 2010-7-21 14:16:38 | 显示全部楼层
在原 pre-lock SHEEL 內, 加上  u6 s5 D; }) a" w9 A& y% l- ^5 U
echo $REPOS > /tmp/log1
& b6 l( L" f4 e. Becho $PATH > /tmp/log2' z# g% T) i( R/ R; G
echo $USER > /tmp/log3
' G% d1 m: A) Xexit 0
) S, a% P4 i! i: J& n% o當如鎖定 new.txt 時, 會產生記錄
1 r! P7 S: v, J但鎖定中文檔名時, 畫面一直卡在圖 lockfail 上, 並且不會產生 log 記錄
9 m! R9 \5 C, m) H5 q" u. E
5 C9 G. V- h7 S9 s5 _/ m: {# b  ?OS:CentOS SVN 1.6.98 |; Z1 P4 a; ^( u1 X+ ]
Client:Tortoise
" h0 i. G& `) f9 T; T
7 c( x# g' @9 L5 ^2 B; z; K& E[ 本帖最后由 dumas 于 2010-7-21 14:30 编辑 ]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2010-7-26 15:11:43 | 显示全部楼层
请问下hook只能控制整个项目吗?我想只控制项目的部分目录,可以实现吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-26 22:11:54 | 显示全部楼层
请问您的控制指的是什么?
5 m5 C. w' _) R' v理论上,对项目的权限控制 comment提交验证 这个是可以实现的
回复 支持 反对

使用道具 举报

发表于 2010-7-29 08:40:54 | 显示全部楼层
請問第 15F 的說明, 有人有解嗎?
回复 支持 反对

使用道具 举报

发表于 2010-7-29 10:26:16 | 显示全部楼层
请教一下楼主 为什么你上面说的shell命令 我用着总说找不到文件路径 。错误如下:1 R# a8 n6 k- L# E1 X" j
楼主能帮忙分析下吗

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-29 10:46:50 | 显示全部楼层
在Windows下面 需要配置的 兄弟
$ H$ A; U4 G, M- ?, w' i- U: B( i把svnlook所在的路径 加到PATH里面去
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

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

GMT+8, 2018-12-11 05:00 , Processed in 0.066004 second(s), 6 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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