亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 > SVN
svn強制注釋for linux和Windows
作者:網絡轉載 發布時間:[ 2014/3/7 16:16:22 ] 推薦標簽:svn 注釋 Windows linux

    不少開發員提交修改的時候都不寫注釋,導致查看歷史時很費勁,也不太符合規范。有的公司要求每次提交修改時都寫上bug號或者任務描述,那么如何在工具上防止開發員們不寫注釋呢?

  利用svn的pre-commit鉤子可簡單實現此要求。

進入倉庫project1/hooks目錄,找到pre-commit.tmpl文件,重命名,去掉后綴.tmpl。
編輯pre-commit文件:(Linux系統和windows系統腳本內容見1和2)

1、Linux系統

方法1:

將:
$SVNLOOK log -t "$TXN" "$REPOS" |
   grep "[a-zA-Z0-9]" > /dev/null || exit 1
commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1
這三行注釋掉(前面加#符號),
在此位置添加如下幾行:

LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
if [ "$LOGMSG" -lt 5 ];#要求注釋不能少于5個字符,您可自定義
then
  echo -e " Log message cann't be empty! you must input more than 5 chars as comment!." 1>&2
  exit 1
fi

保存,退出。
給pre-commit添加可執行權限:
chmod +x pre-commit

配置結束,可以使用了。

 

方法2:

這兩天把項目的開發機遷移到了linux環境,用python重寫了原來的svn hook,保存為pre-commit放到svn的hooks目錄下,chmod +x pre-commit加上執行權限即可。windows下寫SVN鉤子比較麻煩,只能是批處理或者exe,linux下隨便用什么腳本語言寫都可以,只要加上可執行權限行了。

 

#! /usr/bin/env python # -*- coding: utf-8 -*- """ SVN提交前檢查鉤子 功能: 1、強制填寫提交注釋,內容10字節以上 2、強制注釋格式為:xxx:xxx 3、提交文件檢查,過濾不允許提交的文件 作者: 李思杰 <lsj86@qq.com> <2012/04/28> """ import sys import os import re def main(argv): (repos, txn) = argv badlist = (".*config.php$", ".*/php/cache", ".*test", "config.js$","^.*.db$") message = "".join(os.popen("/usr/bin/svnlook log '%s' -t '%s'" % (repos, txn)).readlines()).strip() if len(message) < 10: sys.stderr.write("請輸入本次提交的修改內容,10字節以上。"); sys.exit(1) if message.find(':') < 1: sys.stderr.write("請按規范填寫注釋,格式為:功能名: 修改說明。"); sys.exit(1) changelist = os.popen("/usr/bin/svnlook changed '%s' -t '%s'" % (repos, txn)).readlines() for line in changelist: for pattern in badlist: if re.search(pattern, line): sys.stderr.write("請不要把 %s 加入版本庫。" % line[1:].strip()); sys.exit(1) sys.exit(0) if __name__ == "__main__": main(sys.argv[1:])

 

 2、windows強制注釋腳本

 

@echo off
 setlocal

 set REPOS=%1
 set TXN=%2         

 

rem 保證輸入8個字符
 svnlook log %REPOS% -t %TXN% | findstr "........" > nul
 if %errorlevel% gtr 0 goto :err_action

 

rem 過濾空格字符
svnlook log %REPOS% -t %TXN% | findstr /ic:"        " > nul
 if %errorlevel% gtr 0 goto :success
 
 :err_action
 echo 你本次版本提交未填寫任何變更的日志說明信息.      >&2
 echo 請補充日志說明信息后再提交代碼,例如:功能說明等.  >&2
 echo 輸入的日志信息不少于8個字符說明(或4個漢字),謝謝! >&2
 echo *******************禁止空格數據***************** >&2


 goto :err_exit

  :err_exit
 exit 1
 
 :success
 exit 0

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 国产一级毛片视频在线! | 久久香蕉精品视频 | 成人无遮挡免费网站视频在线观看 | 91精品国产91久久久久久青草 | 午夜高清在线观看免费6 | 欧美高清亚洲欧美一区h | 国产男女视频在线观看 | 夜鲁夜鲁夜鲁在线观看福利 | www网站在线观看 | 亚洲日韩欧美综合 | 免费麻豆国产黄网站在线观看 | 日韩视频在线精品视频免费观看 | 性夜黄a爽爽免费视频国产 性夜黄 a 爽免费看 | 在线免费成人 | 中国一级做a爱片免费 | 黄色毛片网站 | 精品视频在线免费看 | 二区在线视频 | 久久中文字幕免费 | 日韩欧美高清一区 | 日本啪啪动漫 | 伊人精品国产 | 国内精品久久久久不卡 | 二区在线观看 | 亚洲美女影院 | 欧美成人在线观看 | 快播视频在线观看 | 成人免费福利网站在线看 | 成人在线观看午夜 | 欧美洲视频在线观看 | 久久中文字幕一区二区三区 | 2020国产精品视频免费 | 国产区一二三四区2021 | 蝌蚪网在线视频 | 夜色影视 | 天天干天天干天天操 | 毛片大全在线 | 成人十八影院在线观看 | 久久精品国产精品青草不卡 | 国产精品天天看特色大片不卡 | 福利社看片 |