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
  • 相关阅读:
    win7下如何配置ODBC数据源
    串口小票打印机调试命令
    如何测试一个网页登陆界面
    Cookie是否是httponly
    XSS攻击 (安全方面)和传统防御技术
    Linux下查看文件和文件夹大小
    linux停止和查看启动服务的命令使用方法
    查看Linux下系统资源占用常用命令(top、free、uptime)
    三种经典iPhone上网络抓包方法详解
    如何用Fiddler对Android应用进行抓包
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/5304947.html
Copyright © 2011-2022 走看看