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\}\]"`
  K4 z6 r8 t8 Z: ?+ V8 ]* TCHANGED=`$SVNLOOK changed -t "$TXN"  "$REPOS"|grep branches|grep "Release-0.8.100517"|wc -l`/ q3 G& u  T& q$ ^) L2 J1 w% ]
7 v) I6 @; x& R$ w* m% A
if [ $CHANGED -gt 0 ]1 q# A; m" a; @% @5 X
then9 f( O) y: F! b% i3 Y
        if [  "$LOGS" =  "" ]+ o  Z$ W5 z; X# Q* P$ ^8 Y* L
        then
3 G7 `( ~2 {' j3 h. i+ w! [echo -e "\n You Must Write the commit log like:[R12375][fix bug#57020]... on the branch Release-0.8.100517,Thanks" 1>&2
; W. s/ @! f- u  h        exit 1
; X' ]  h( q1 _1 L, `+ U        fi& h4 q- ^' C+ {  j
fi  e7 q% D7 X; l& q
##################################
! A7 F# H; b+ U; e) A- L) \#完成的功能
% e" Z4 m2 B4 P* g在分支Release-0.8.100517里面提交的Commit Log的格式必须如下3 @1 B0 L, {" i  ?( Q1 h9 Y
[R12357][fix bug#88878].. W# K6 F0 B6 n8 I* j: b! F( w
大小写不限,前面两个[]里面的东东是必选的
$ N& j: C& {% H2 w# m( t+ _2 c* @- H" ]; z$ Z1 |* v
[ 本帖最后由 go2cxg 于 2010-7-19 15:59 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2010-7-20 14:37:18 | 显示全部楼层
請問+ Z# y1 i2 W2 F" O& }/ L+ p" U
1.將 pre-lock.tmpl 改為 pre-lock, lock 英文檔名時正常, 但中文檔名就一直掛在鎖定作業中1 e: }6 C0 c) O' U; u- T6 s: P
   可如何排除?6 B1 ?2 c, t$ _# H1 p1 `

  ^. B: j* I( Z7 ^使用環境4 g$ d; V* c$ [; b5 |: A* c6 a# H
CentOS 5.4, Subversion 1.6.9
' j% P. }; O  f) m2 G+ \1 G9 Y4 [) [; v1 _/ d; z. x2 Y3 ^0 S$ j
[ 本帖最后由 dumas 于 2010-7-20 16:51 编辑 ]
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2010-7-21 09:20:17 | 显示全部楼层
谢谢共享,可以想到的几个业务场景
# S. x- G4 @4 P" Q1 ?" h1。镜像库同步(包含出错后自动纠错); m4 f$ P( p+ d4 S
2。象Vss一样的串行锁
% A2 g. J% {% D& B) l; @8 A3。防止开发者提交代码修改不带注释% t- r- a1 f5 d6 }+ q8 c: w9 K! U
4。只允许指定人员执行删除动作
& [+ ^  ^) l+ c; G- l5。只允许指定人员修改错误注释信息+ \& B5 w7 g1 e. A7 s8 Z
等等
回复 支持 反对

使用道具 举报

发表于 2010-7-21 14:16:38 | 显示全部楼层
在原 pre-lock SHEEL 內, 加上; I: Y/ G/ F- s1 J  J; [" q9 [% n
echo $REPOS > /tmp/log1
8 E4 x5 G6 p% y  Secho $PATH > /tmp/log26 W. I. z- u8 b- F. V% j* K2 O
echo $USER > /tmp/log31 k2 X4 D& n$ G1 _9 K
exit 0
; ^. U3 U% Z2 y9 u$ Q當如鎖定 new.txt 時, 會產生記錄
( y/ s$ m" w! k: D( X' g但鎖定中文檔名時, 畫面一直卡在圖 lockfail 上, 並且不會產生 log 記錄
8 Y! G4 Y) h* x3 b+ y3 j4 F$ w2 Q
' h, Q( J0 V5 p- N/ F7 NOS:CentOS SVN 1.6.9) H, H7 H! e, E- d
Client:Tortoise" G2 ~8 o6 r  ^2 b+ R+ S3 ]

7 c/ Z  A' c4 U7 C+ ]( G, e[ 本帖最后由 dumas 于 2010-7-21 14:30 编辑 ]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2010-7-26 22:11:54 | 显示全部楼层
请问您的控制指的是什么?2 n+ {' A+ B$ z' v# L
理论上,对项目的权限控制 comment提交验证 这个是可以实现的
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2010-7-29 10:26:16 | 显示全部楼层
请教一下楼主 为什么你上面说的shell命令 我用着总说找不到文件路径 。错误如下:
% D. o. W" g, h0 l* _, Y8 v楼主能帮忙分析下吗

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-29 10:46:50 | 显示全部楼层
在Windows下面 需要配置的 兄弟
2 \; o; P6 t# A% Z5 T5 G; e3 P5 i& m把svnlook所在的路径 加到PATH里面去
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

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

GMT+8, 2019-2-19 20:08 , Processed in 0.068796 second(s), 6 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

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