jasmine214--love

          只有當你的內心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

          svn 郵件通知及LOG處理

          Posted on 2011-01-19 17:32 幻海藍夢 閱讀(687) 評論(0)  編輯  收藏 所屬分類: Linux 、版本管理配置管理
          *自動發郵件腳本
          配置post-commit文件   //此文件在commit時會運用到這個腳本
          # cd /svndata/test/hooks
          # cp post-commit.tmpl post-commit
          # vi post-commit
          在末尾刪除原來的,添加上以下參數
          REPOS="$1"
          REV="$2"

          /usr/bin/svnnotify --repos-path "$1" --revision "$2" --to windy@xxx.com --handler "HTML::ColorDiff" --with-diff --smtp mail.xxx.com --subject-prefix '[Windy SVN]'

          //--to windy@xxx.com為 要通知的郵件地址,我們一般會做個郵件組,這個組內包含了這個項目的所有人,--smtp mail.xxx.com為你的內部郵件服務器地址,必須使用域名,要內部DNS能夠解析到,可能需要在內部DNS服務器上手動添加主機記錄, [Windy SVN]必須有SVN字段,否則將收不到郵件,注重格式,此腳本有bugzilla和JIRA系統進行整合的參數。
          # chmod a+x post-commit   //添加可執行權限給post-commit

          *可修改log腳本
          配置pre-revprop-change文件   //此文件在show log中修改log時會運用到這個腳本,得到修改的權限,否則會報錯DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent. At least one property change failed; repository is unchanged
          # cd /svnroot/test/hooks
          # cp pre-revprop-change.tmpl pre-revprop-change
          # vi pre-revprop-change
          在末尾刪除原來的,添加上以下參數
          EPOS="$1"
          REV="$2"
          USER="$3"
          PROPNAME="$4"

          if [ "$PROPNAME" = "svn:log" ]; then exit 0; fi
          exit 1

          # chmod a+x pre-revprop-change   //添加可執行權限給pre-revprop-change

          *強制寫log腳本
          配置pre-commit文件   //此文件在用戶每次更新庫中都必須要求寫log,此文以log最低5個字符為例
          # cd /svnroot/test/hooks
          # cp pre-commit.tmpl pre-commit
          # vi pre-commit
          在末尾刪除原來的,添加上以下參數
          REPOS="$1"
          TXN="$2"
          SVNLOOK=/usr/bin/svnlook
          # check that logmessage contains at least 5 alphanumeric characters
          LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
          if [ "$LOGMSG" -lt 5 ];
          then
            echo -e "\nEmpty log message not allowed. Commit aborted!" 1>&2
            exit 1
          fi
          //[ "$LOGMSG" -lt 5 ] -lt 5這個5是至少為5個字符,請注意。
          # chmod a+x pre-commit   //添加可執行權限給pre-commit

          原文:http://blogold.chinaunix.net/u3/93926/showart_1874564.html
          主站蜘蛛池模板: 综艺| 涞源县| 满洲里市| 桂阳县| 金湖县| 德格县| 安阳市| 棋牌| 张家口市| 凌源市| 临安市| 宁安市| 淄博市| 老河口市| 离岛区| 察隅县| 苍梧县| 雅安市| 金溪县| 德安县| 黄大仙区| 梁河县| 南丹县| 浦东新区| 故城县| 惠水县| 安达市| 玉门市| 五大连池市| 长岭县| 松潘县| 滦平县| 鄂尔多斯市| 阳东县| 和平区| 无极县| 任丘市| 凉城县| 抚松县| 宜兴市| 克什克腾旗|