今天安裝了一下 jira 的 svn acceptance,遇到了不少問題,實際上這些問題在之前學習 subversion hooks 的時候也有遇到,沒記下,又弄一次,真是心煩得很。
1、hooks 中不能使用任何環境變量,svn acceptance 使用的是 pre-commit ,里面調用 python 的腳本。python 要寫絕對路徑,腳本 jira-client.py 也要寫絕對路徑,將 python 放在 path 中是沒有用的。(這個在 svn acceptance 安裝步驟中有,沒有細看就安裝,苦啊!)
2、pre-commit.bat 中路徑或者使用老 DOS 的方式,如 @D:\Progra~1\Python25\python.exe" E:\SVN\repos\hooks\jira-client.py %1 %2。或者加上雙引號,如@"D:\Program Files\Python25\python.exe" E:\SVN\repos\hooks\jira-client.py %1 %2
3、jira-client.py 中的路徑也一樣,或者使用 DOS,如 svnlookPath = 'D:\\Progra~1\\svn-win32-1.4.3\\bin\\svnlook.exe'。或者加上雙引號,如svnlookPath = '"D:\\Program Files\\svn-win32-1.4.3\\bin\\svnlook.exe"'
4、hooks 中 exit 1 就是拒絕提交,exit 0 或什么都不寫就是允許提交(windows 2000 中好象必須要 exit 0)
5、提交顯示的錯誤信息在腳本中放在 system err 中,bat 文件只要 echo "haha" >&2 就可以了,python 中 print >> sys.stderr, 'haha' 就可以了
6、用戶信息是通過 svnlook author 得到,注釋信息是通過 svnlook log 得到
ps:subversion acceptance plugins 安裝容易得很