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\}\]"`
# J7 k: r& G4 w6 tCHANGED=`$SVNLOOK changed -t "$TXN"  "$REPOS"|grep branches|grep "Release-0.8.100517"|wc -l`0 v7 w) F: I" }& O% O
" j) [" J8 C( i* L: s
if [ $CHANGED -gt 0 ]
3 d: |9 E/ ]9 e0 H' Wthen2 Y4 i* _/ ]. N9 \$ w1 H3 F7 u4 T+ j
        if [  "$LOGS" =  "" ]
, p: P7 \' R+ E/ \) c        then# e% F1 \, u/ |  W
echo -e "\n You Must Write the commit log like:[R12375][fix bug#57020]... on the branch Release-0.8.100517,Thanks" 1>&25 {6 e: @/ s/ I/ i. d1 n' J7 [8 B9 b
        exit 1, N- I8 ?3 ^1 k" E- Y
        fi# N* D& ^# ]0 l6 a5 {8 a
fi6 \+ W$ P/ O; P& H
##################################/ v8 ]% o3 x  n
#完成的功能$ d! p) u& ^4 G9 J$ z
在分支Release-0.8.100517里面提交的Commit Log的格式必须如下
- Z7 I/ q) C3 U8 A& \& h( a[R12357][fix bug#88878].
, D# Y  A  Y7 `# O* h大小写不限,前面两个[]里面的东东是必选的0 M# K/ W" K; ~
- t1 |: Z1 p6 o9 H7 v
[ 本帖最后由 go2cxg 于 2010-7-19 15:59 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2010-7-20 14:37:18 | 显示全部楼层
請問
  @6 q0 w; x6 g% Y8 l- U1.將 pre-lock.tmpl 改為 pre-lock, lock 英文檔名時正常, 但中文檔名就一直掛在鎖定作業中1 _8 i- |1 M$ k& k0 ~1 j! B
   可如何排除?) J( T& a$ I3 W# t

; k+ M! D1 t: T" ~4 [使用環境  k" ^: Q1 `( @' r7 i
CentOS 5.4, Subversion 1.6.9/ o' j8 ]& o) \6 Q
; W) Y0 q$ C8 w+ M* x3 r
[ 本帖最后由 dumas 于 2010-7-20 16:51 编辑 ]
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2010-7-21 09:20:17 | 显示全部楼层
谢谢共享,可以想到的几个业务场景( }6 i; A% W/ p" @& X* M2 |
1。镜像库同步(包含出错后自动纠错)4 B" c  i( O( k; X8 s, ]6 I4 r
2。象Vss一样的串行锁
6 e9 n. @: z3 |; t, _* Y) f3。防止开发者提交代码修改不带注释
+ a$ }& L: L* H4 }' G4。只允许指定人员执行删除动作( U0 m. |9 I9 _8 Z9 [# T
5。只允许指定人员修改错误注释信息6 M$ `/ p& i/ Y) O6 [/ [% u
等等
回复 支持 反对

使用道具 举报

发表于 2010-7-21 14:16:38 | 显示全部楼层
在原 pre-lock SHEEL 內, 加上
, u. g7 `9 w: E% Becho $REPOS > /tmp/log1 2 P  {3 F2 h! H2 @
echo $PATH > /tmp/log2
2 `" U7 a* m/ _, o. G! Xecho $USER > /tmp/log30 A; s+ T3 E$ g: k. X
exit 0, Q; j# X, S% r
當如鎖定 new.txt 時, 會產生記錄" k4 H6 b, D: w" J( I2 E* `
但鎖定中文檔名時, 畫面一直卡在圖 lockfail 上, 並且不會產生 log 記錄, K5 P1 p+ S" C% V/ \
) j" i& l5 l" ^) X
OS:CentOS SVN 1.6.9
3 p0 E0 j" Z# M7 iClient:Tortoise
! k1 I0 K9 o) e) F5 G5 d5 O
8 R. s* S6 |# b[ 本帖最后由 dumas 于 2010-7-21 14:30 编辑 ]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-7-26 22:11:54 | 显示全部楼层
请问您的控制指的是什么?0 D9 x8 n4 c/ `; o4 r. E8 t
理论上,对项目的权限控制 comment提交验证 这个是可以实现的
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2010-7-29 10:26:16 | 显示全部楼层
请教一下楼主 为什么你上面说的shell命令 我用着总说找不到文件路径 。错误如下:" ]/ X3 v4 A9 ]0 @, o9 k4 Q
楼主能帮忙分析下吗

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-29 10:46:50 | 显示全部楼层
在Windows下面 需要配置的 兄弟 3 D0 S& |$ h$ {3 ]# i
把svnlook所在的路径 加到PATH里面去
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

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

GMT+8, 2018-6-18 05:58 , Processed in 0.067153 second(s), 6 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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