jasmine214--love

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

          svn 郵件通知及LOG處理

          Posted on 2011-01-19 17:32 幻海藍夢 閱讀(686) 評論(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
          主站蜘蛛池模板: 板桥市| 嘉善县| 林州市| 桃源县| 台州市| 大城县| 扶余县| 玛沁县| 富源县| 洛扎县| 乌拉特中旗| 堆龙德庆县| 新民市| 福安市| 铁力市| 交口县| 定兴县| 承德县| 河间市| 图木舒克市| 札达县| 都昌县| 新河县| 宣恩县| 曲阜市| 黑河市| 迭部县| 武夷山市| 临泽县| 东平县| 名山县| 大厂| 丽水市| 昭觉县| 高台县| 栾城县| 垣曲县| 阿荣旗| 元江| 洛隆县| 页游|