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