準備推行code review,需要個合適的工具。谷歌了一下,選擇了當前最熱門的ReviewBoard。熱門,相關的資料也多,找了篇安裝文檔
(
http://billben.iteye.com/blog/1190481)就吭哧吭哧按部就班的安裝起來。
但是我們使用的SCM工具為ClearCase,安裝后測試時還是遇到了很多問題,折騰了一周才把那些問題都解決了,特此總結一下。
1、ClearCase
命令行進入版本庫視圖的vob目錄下,執行”cleartool lsview -full -properties -cview”測試,如果執行結果不能馬上返回(慢的話可能會耗時10多秒),需要把該視圖刪了重新創建。
當post-review、編輯reviewboard的request、或view diff時,該命令會被多次調用。速度慢會嚴重影響性能。 2、easy_install
使用easy_install時,由于Python的部分模塊被墻,在執行之前需要先設置一個可用的http代理。
假如本地已經有個808端口的http代理,則在命令行中先運行如下命令,再執行easy_install安裝命令。
set http_proxy=http://localhost:808
若是個socks代理,則可以下載個CCProxy,通過它的二級代理功能將其轉為http代理。
3、客戶端執行post-review時Error uploading diff
在服務器命令行能正常post-review的,客戶端就不行了。最終通過代碼調式確認,Windows下安裝官方的apache,默認配置沒有讀取clearcase文件的權限。換成xampp的apache就正常了。
4、R6034 runtime error
Apache運行起來后,第一次訪問時reviewboard時彈出R6034 runtime error警告框。原因是與環境變量Path中的msvcp90.dll 、msvcr90.dll文件沖突。
執行如下命令檢查,
將該路徑從path中去掉,重啟XAMPP即可。
for %i in (msvcp90.dll) do @echo. %~$PATH:i
for %i in (msvcr90.dll) do @echo. %~$PATH:i
5、服務器端閃動命令行窗口
操作reviewboard時,服務器端調用clearcase.py時,會在subprocess.Popen執行cmd命令,默認參數會彈出窗口執行命令。解決方案:增加“shell=True”參數。subprocess.Popen(
cmdline,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
cwd=repopath,
shell=True)