zoukankan      html  css  js  c++  java
  • 分享SVN的钩子代码[借鉴学习]pre-commit-post 钩子

     
    1. #/bin/bash
    2. REPOS=$1
    3. TXN=$2
    4. export HOME=/
    5. export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    6. SVNLOOK=/usr/bin/svnlook
    7. CAT="$SVNLOOK cat -t $TXN $REPOS"
    8. $SVNLOOK changed -t "$TXN" "$REPOS" |awk '$1~/^[^D]/{print $NF}' |while read line; do
    9.         #bash syntax check
    10. # if echo $line |grep -q '.sh$'; then
    11. # $CAT $line |bash -n 2>&2 && continue
    12. # echo "BASH SYNTAX ERROR: $line" >&2
    13. # exit 4
    14. # fi
    15.         #perl syntax check
    16.         if echo $line |grep -q '.pl$'; then
    17.                 $CAT $line |perl -c 2>&2 && continue
    18.                 echo "PERL SYNTAX ERROR: $line" >&2
    19.                 exit 4
    20.         fi
    21.         #puppet syntax check
    22.         if echo $line |grep -q '.pp$'; then
    23.                 $CAT "$line" |puppet --color=false --parseonly --ignoreimport >&2
    24.                 [ $? -eq 0 ] && continue
    25.                 echo "PUPPET SYNTAX ERROR: $line" >&2
    26.                 exit 4
    27.         fi
    28.         #erb syntax check
    29.         if echo $line |grep -q '.erb$'; then
    30.                 $CAT $line |erb -x -T '-' |ruby -c 2>&2 && continue
    31.                 echo "ERB SYNTAX ERROR: $line" >&2
    32.                 exit 4
    33.         fi
    34. done
    post-commit
    1. #!/bin/bash
    2. /usr/bin/svn update /etc/puppet/ --username test --password test >> /tmp/abc.out
    3. if [ $? == 0 ]
    4. then
    5.        echo "ok" >> /tmp/thisabc.out
    6.        /bin/rsync -avztpogdH --password-file=/opt/my2 /etc/puppet root@xxx.xxx.xxx.xxx::abc
    7. fi
  • 相关阅读:
    ci框架——文章查看之上篇下篇
    ci框架——分页
    ci框架——数据库(增删改查)
    全选和反选
    基于CI框架的管理系统
    在dedecms系统下, 改写火车头的入库接口 写一个接口文件运行一次自动读取 http://news.163.com/rank/
    缩略图
    php——两种无限级分类
    webpack和webpack-dev-server安装配置(遇到各种问题的解决方法)
    python装饰器
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/5304947.html
Copyright © 2011-2022 走看看