分享SVN的钩子代码[借鉴学习]pre-commit-post 钩子
- #/bin/bash
- REPOS=$1
- TXN=$2
- export HOME=/
- export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
- SVNLOOK=/usr/bin/svnlook
- CAT="$SVNLOOK cat -t $TXN $REPOS"
- $SVNLOOK changed -t "$TXN" "$REPOS" |awk '$1~/^[^D]/{print $NF}' |while read line; do
- #bash syntax check
- # if echo $line |grep -q '\.sh$'; then
- # $CAT $line |bash -n 2>&2 && continue
- # echo "BASH SYNTAX ERROR: $line" >&2
- # exit 4
- # fi
- #perl syntax check
- if echo $line |grep -q '\.pl$'; then
- $CAT $line |perl -c 2>&2 && continue
- echo "PERL SYNTAX ERROR: $line" >&2
- exit 4
- fi
- #puppet syntax check
- if echo $line |grep -q '\.pp$'; then
- $CAT "$line" |puppet --color=false --parseonly --ignoreimport >&2
- [ $? -eq 0 ] && continue
- echo "PUPPET SYNTAX ERROR: $line" >&2
- exit 4
- fi
- #erb syntax check
- if echo $line |grep -q '\.erb$'; then
- $CAT $line |erb -x -T '-' |ruby -c 2>&2 && continue
- echo "ERB SYNTAX ERROR: $line" >&2
- exit 4
- fi
- done
post-commit
- #!/bin/bash
- /usr/bin/svn update /etc/puppet/ --username test --password test >> /tmp/abc.out
- if [ $? == 0 ]
- then
- echo "ok" >> /tmp/thisabc.out
- /bin/rsync -avztpogdH --password-file=/opt/my2 /etc/puppet root@xxx.xxx.xxx.xxx::abc
- fi
分享SVN的钩子代码[借鉴学习]pre-commit-post 钩子的更多相关文章
- 分享下使用 svn,测试服务器代码自动更新、线上服务器代码手动更新的配置经验
分享下使用 svn,测试服务器代码自动更新.线上服务器代码手动更新的配置经验 利用SVN的POST-COMMIT钩子自动部署代码 Linux SVN 命令详解 Linux SVN 命令详解2 使用sv ...
- git学习------>从SVN迁移到Git之后,项目开发代码继续在SVN提交,如何同步迁移之后继续在SVN提交的代码到Git?
最近逐步逐步的将公司的项目都从SVN往Git迁移了,但是想团队成员都能够一步到位就迁移到Git是不可能的,因为还有大部分人都还不会Git,所以整个过渡过程估计得大半年. 因此导致虽然项目迁移过来了,但 ...
- linux上配置subversion服务器端安装配置并使用svn,windows本地检出,设置同步更新服务器的钩子
参考http://my.oschina.net/junn/blog/164041 http://songxj.blog.51cto.com/620981/396113 http://5iwww.blo ...
- day 84 Vue学习四之过滤器、钩子函数、路由、全家桶等
本节目录 一 vue过滤器 二 生命周期的钩子函数 三 vue的全家桶 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 Vue的过滤器 1 moment.js 在这里我们先介绍一个 ...
- 企业SVN版本管理与代码上线方案
1.SVN服务实战 1) 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统.Sv ...
- Android Studio配置SVN 以及使用代码管理
一.Android Studio配置SVN Android Studio关联配置SVN非常easy,在Settings里面.找到Version Control->Subversion.在这个页面 ...
- day 83 Vue学习四之过滤器、钩子函数、路由、全家桶等
Vue学习四之过滤器.钩子函数.路由.全家桶等 本节目录 一 vue过滤器 二 生命周期的钩子函数 三 vue的全家桶 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 Vue的过滤 ...
- SVN上传代码
概述 SVN上传代码 使用SVN工具上传代码到新浪SAE 1.下载SVN工具http://tortoisesvn.net/downloads.html 2.创建一个文件夹,Checkout,输入SAE ...
- 两个SVN仓库之间代码的转移
背景: 1.公司的svn服务器架设在了公司内网环境中,没有公网ip,所以离开了公司环境就无法访问(更新.提交...)svn服务器了: 2.四个开发人员去客户现场开发新的需求,在现场找了一台服务器临时搭 ...
随机推荐
- 也用 Log4Net 之将日志记录到数据库的后台实现 (二)
也用 Log4Net 之将日志记录到数据库的后台实现 (二) 大家下午好,昨天讲了配置,今天我们讲讲后台实现,在完成了后台实现后,我们才能真正意义上的解决把自定义属性字段值录入到数据库中. 在开写之 ...
- WCF 学习总结2 -- 配置WCF
前面一篇文章<WCF 学习总结1 -- 简单实例>一股脑儿展示了几种WCF部署方式,其中配置文件(App.config/Web.config)都是IDE自动生成,省去了我们不少功夫.现在回 ...
- MySQL查询执行过程
MySQL查询执行路径 1. 客户端发送一条查询给服务器: 2. 服务器先会检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果.否则进入下一阶段: 3. 服务器端进行SQL解析.预处理,再由优 ...
- gitphp日期乱码解决方案
出现日期乱码的在以下文件中 templates rss tag commitdiffplain log project commit 搜索文件中的 %z 修改为以下代码 {$commit->Ge ...
- 中文Win7下成功安装calabash-android步骤
Calabash-android是支持android的UI自动化测试框架,网上看见很多同学说,安装calabash比较费劲,特别是Windows下安装,也没有一个详细的安装手册可供参考.正好,今天在W ...
- Jquery Ajax 异步设置Table中某列的值
可根据table中某列中的ID去改变某列的值! 只是参考,实际应用中不能这样做的,如果有很多行,频繁访问服务器,服务器是顶不住的! JS: $(document).ready(function () ...
- 使用 EasyBCD 安装Ubuntu 14.04 Error 15: file not found错误的解决方法
今天安装Window7 和 Ubuntu 14.04 双系统时,出现如下异常,记录一下. 安装过程是参考 http://www.linuxidc.com/Linux/2014-04/100369.ht ...
- C#通过DllImport引入dll中的C++非托管类(转)
http://blog.sina.com.cn/s/blog_70a144580100tmj8.html
- QQMusic绿钻兄,你可安好?我需要晴天。
不好意思,年纪这样大了,还依靠吐槽来保持呆毛的正能量,实在对不住,先说对不起. QQMusic是我最喜欢的腾讯增值服务,正版内容,海量歌手,高清下载.实在是音乐软件中高大上的典范,除了歌手排名中前十中 ...
- 字符流缓冲区的使用之BufferedWriter和BufferedReader
从字符输入流中读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取,代码中使用了输入缓冲区的特有的方法:readLine(),获取一行文本数据 import java.io.BufferedRea ...