svn 钩子脚本

#vim post-commit

#!/bin/bash

REPOS="$1" 
REV="$2" 
SVNLOOK="/usr/bin/svnlook"
echo "`date +%F`" >> /tmp/post.log
echo "REPOS=$1 REV=$2" >> /tmp/post.log
echo -e "\[email protected][email protected]#" >> /tmp/post.log
echo -e "`date +%F` end\n" >> /tmp/post.log
$SVNLOOK changed "$REPOS" >> /tmp/list.txt
project=`tail -n 1 /tmp/list.txt|awk ‘{print $2}‘|cut -d/ -f1-2`
echo "$project" >>/tmp/p
curl  "http://center.sky.com/project/file_interface.php?svnupdate=2&pname=$project&dir=&file=&revision="
#curl "http://center.sky.com/project/file_interface.php?pname=$project&dir=&ufile="

#vim pre-commit

SVNLOOK=/usr/bin/svnlook
REPOS="$1"
TXN="$2"
SCMLIST="superadmin,richard.wu" 
C_USER=`$SVNLOOK info  -t $TXN $REPOS|sed -n "1p"`;
if [ -z  `echo $SCMLIST|grep $C_USER` ]
then
        echo `$SVNLOOK changed -t $TXN $REPOS `  >  /dev/shm/commit_log 
        rm -rf /dev/shm/commit_log
        fi
LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c` 
if ! $SVNLOOK log -t "$TXN" "$REPOS" |grep -P -i "v\d\.\d+_?(\d*)";
then
        echo -e "please input product version:\n eg:v2.203_20130802\n eg:v0.007_20130907\n" 1>&2
        #echo -e "please input product version\n";
        exit 1;
fi
exit 0

svn 钩子脚本,布布扣,bubuko.com

时间: 2024-12-19 10:29:04

svn 钩子脚本的相关文章

使用svn钩子脚本控制svn库的实时备份

Svn镜像库实时同步实现 一, 配置rsync的同步机制先实现能手动同步 环境:svn源码库 192.168.115.120 Svn镜像库 192.168.115.121 1,在源码库中配置rsync服务 (配置文件默认没有需要手动建立 /etc/rsyncd.cong) 上面 [ UGOR]就是要更新的模块,然后启动服务 rsync –deamo查看服务状态lsof –I 873 注:认证账户格式为 用户:密码,文件权限为 600, (rsync.pass) 2,在镜像库中同步内容执行 rsy

svn钩子的使用案例

我在这一篇博文http://lidaxia.blog.51cto.com/11588738/1928773中提到,svn钩子脚本是svn非常实用重要的功能,在工作中,会经常需要用到svn钩子脚本以实现除了svn自带功能之外的附加功能,那么这一篇博文,我们就举例演示一下,svn钩子是用来做什么的,以及怎么用. svn钩子的功能: svn钩子是一个脚本,它的具体写法和linux操作系统中shell脚本的写法并没有什么不同,通俗来说,svn钩子的功能就是当某种版本库事件(删除文件.上传文件.修改文件名

svn钩子自动化同步代码提交任务

##############################################################第一种方式:svn服务端  也是rsync的客户端web        是rsync的服务端svn服务端执行:[[email protected] ~]#sh yum-svn02.sh[[email protected] ~]#mkdir /var/www/bbs -p[[email protected] ~]#svn checkout http://192.168.13.

SVN钩子运用

一.Svn钩子脚本简介 钩子脚本的具体写法就是操作系统shell脚本程序写法,请根据自己SVN所在的操作系统和shell程序进行相应的开发. 钩子脚本就是被某些版本库事件触发的程序,例如创建新版本或修改未被版本控制的属性.每个钩子都能掌管足够的信息来了解发生了什么事件,操作对象是什么以及触发事件用户的账号.根据钩子的输出或者返回状态,钩子程序能够以某种方式控制该动作继续执行,停止或者挂起. svn的hooks模版功能介绍 start-commit 提交前触发事务 pre-commit 提交完成前

centos7配置svn钩子hooks脚本自动同步代码到项目目录

由于项目需要,svn提交后的代码希望再测试服务器上测试,每次提交后还要手动去svn update一次 十分麻烦,配置好svn钩子以后就省去了这些麻烦. 进入svn版本库目录找到hooks目录找到文件post-commit.tmpl 复制出一个命名为post-commit的文件,并修改权限为可执行权限 命令如下: cd /var/data/svndata/myproject/hooks cp post-commit.tmpl post-commit chmod 755 post-commit vi

利用SVN钩子同步程序注意事项

暂时记下,此文章内容稍后验证. 前言:其实利用SVN实时同步到WEB服务器即时展现出来的文章已经到处都是,但是我在做的时候 还是有不少的小问题,很多文章也没有提出来过,还有同步也是,我还是记录下自己做过的尤其是一些细节,时间一长又会忘掉了. 同步程序思路:用户提交程序到SVN,SVN触发hooks,按不同的hooks进行处理,这里用到的是post-commit,利用post-commit到代码检出到SVN服务器的本地硬盘目录,再通过rsync同步到远程的WEB服务器上. 知识点:1.SVN的ho

svn学习之一(svn独立服务器搭建)svn钩子了解

SVN实战笔记#####################################################xingxing qq:1218761836 qq群:150181442##################################################### SVN实战  目录SVN实战    1一.SVN简介    1二.SVN运行方式    12.1 svn的访问模式3种    1三.SVN数据格式    23.1 svn 档案库数据格式    2四.

svn钩子(hooks)

首先你需要搭建出自己的svn环境出来,并能成功导入导出,并且了解svn,这是看这篇文章的前提.... 出于公司开发部需要svn同步更新服务器代码,需要用到svn钩子(hooks)技术,以前从来没听过,没办法只能google了,google半天再一次认同了一个道理:天下文章一大抄啊,东拼西凑终于算是完成了(为啥说算是呢?svn太强大了我所做的只是一点点),不多说了,上例子: 我们公司的部署很简单(svn服务和web服务在同一台主机上): 开发 ----- svn(存储)---- 线上服务器 以前是

VisualSVN 钩子脚本实现网站自动更新

一.环境 说明: (1)服务器端除了装VisualSVN Server服务器端外,另外再装TortoiseSVN (2)服务器端和客户端都checkout 下目录 (3)注意:自动发布的钩子脚本,不支持https 一.配置 找到需要同步的代码库编辑Post-commit hook脚本: 编辑内如:(替换其中的用户名及密码,D:\wwwroot为网站根目录) "C:\Program Files\VisualSVN Server\bin\svn.exe" update "D:\w