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\}\]"`* |0 W7 {' e2 q% ^) [/ Q
CHANGED=`$SVNLOOK changed -t "$TXN"  "$REPOS"|grep branches|grep "Release-0.8.100517"|wc -l`
6 W- E7 a! [# a( }* S, X
8 u/ s& q: t3 p0 |! X" Hif [ $CHANGED -gt 0 ]
( I( j1 y9 Q* ]7 D7 E( Q" x6 s2 Bthen+ F1 H0 t9 W6 ]& n  {! E  h
        if [  "$LOGS" =  "" ]* C4 Y  N8 j) M- Z/ Q+ Z
        then( I4 l1 G8 c# \5 L, T# D
echo -e "\n You Must Write the commit log like:[R12375][fix bug#57020]... on the branch Release-0.8.100517,Thanks" 1>&22 \8 d  ~' ]( r1 C9 j6 R, _
        exit 11 F0 d! z7 Q# m) b/ J. |4 A# \) k
        fi
, {3 L: C7 @0 w# P9 l! ~0 Ifi/ J% ]" q  K/ F
##################################3 S3 z8 l7 U" z, _% U, H
#完成的功能
( N, ]8 @5 x3 T' K在分支Release-0.8.100517里面提交的Commit Log的格式必须如下3 u5 L# k5 ~) x9 i( P# b
[R12357][fix bug#88878].
, ?: ~3 V8 j* o* A: w9 l; Z大小写不限,前面两个[]里面的东东是必选的" M" [; b- Q4 y, W
3 @7 h5 b( Q( b5 ?5 Z4 X- c
[ 本帖最后由 go2cxg 于 2010-7-19 15:59 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2010-7-20 14:37:18 | 显示全部楼层
請問" G9 o" G3 i+ u) }+ V+ k' z
1.將 pre-lock.tmpl 改為 pre-lock, lock 英文檔名時正常, 但中文檔名就一直掛在鎖定作業中2 `! \6 U( s2 G8 T; [
   可如何排除?
: R8 A  \/ P6 y1 h5 R
9 o) C- m2 T* S7 g5 r使用環境* Q- W2 K" D( D# P9 w6 V9 L, W( t
CentOS 5.4, Subversion 1.6.9) |0 @% r2 j# p0 ?/ _
1 z# S: \+ q- d5 B' K% ?
[ 本帖最后由 dumas 于 2010-7-20 16:51 编辑 ]
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2010-7-21 09:20:17 | 显示全部楼层
谢谢共享,可以想到的几个业务场景& U: N  F. t$ n5 Y/ X" q' Y
1。镜像库同步(包含出错后自动纠错)
7 s5 l) v) V& y1 H2。象Vss一样的串行锁
; S" F: ~# [% Q5 R: `* h3。防止开发者提交代码修改不带注释
$ e, u4 ]0 W+ u" S4。只允许指定人员执行删除动作
- f9 E  Y+ j4 T+ j$ P5。只允许指定人员修改错误注释信息. P  C- ]) o5 A7 f) B3 I
等等
回复 支持 反对

使用道具 举报

发表于 2010-7-21 14:16:38 | 显示全部楼层
在原 pre-lock SHEEL 內, 加上
  |* O6 x+ v) G' _" F# X& Aecho $REPOS > /tmp/log1
( Q/ s: f7 f0 y! techo $PATH > /tmp/log26 K5 h4 Y9 B  |1 [
echo $USER > /tmp/log3
, S' r! H& J' K7 d* bexit 0
3 @9 \3 F/ k: p, k+ `6 \當如鎖定 new.txt 時, 會產生記錄
5 B$ u9 x  C2 X* ~- ?: R1 B6 W但鎖定中文檔名時, 畫面一直卡在圖 lockfail 上, 並且不會產生 log 記錄+ R. R( o' p" ?, K

( y  b1 w3 f& u9 s" Q8 bOS:CentOS SVN 1.6.9
9 }+ ?1 \- K+ F9 m  g$ [Client:Tortoise
' o+ V9 X8 a8 _1 O+ @
" y' B+ j' ?$ z# i. p[ 本帖最后由 dumas 于 2010-7-21 14:30 编辑 ]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-7-26 22:11:54 | 显示全部楼层
请问您的控制指的是什么?
3 g' m4 B% ~) g) u2 E, `/ Z理论上,对项目的权限控制 comment提交验证 这个是可以实现的
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2010-7-29 10:26:16 | 显示全部楼层
请教一下楼主 为什么你上面说的shell命令 我用着总说找不到文件路径 。错误如下:0 h; W1 j# ~- f- A) n
楼主能帮忙分析下吗

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-29 10:46:50 | 显示全部楼层
在Windows下面 需要配置的 兄弟 ) k& A, t6 \$ Z% z
把svnlook所在的路径 加到PATH里面去
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2018-1-17 10:16 , Processed in 0.066074 second(s), 6 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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