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
  • 相关阅读:
    女子腰背疼痛案
    老人心悸心膝部无力屈伸不利案
    经方生姜泻心汤临床应用发挥
    电话求诊易误治
    女子乳房结块案
    小儿手足口案
    门纯德老先生经验
    男子肋部掣痛案
    加味潜降汤治疗阴虚阳亢之眩晕(来自网络)
    三叉神经痛与芎胡六虫汤
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/5304947.html
Copyright © 2011-2022 走看看