Evan's Blog

          Java, software development and others.

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            28 隨筆 :: 0 文章 :: 73 評(píng)論 :: 0 Trackbacks

          前幾天好奇,也剛好得了點(diǎn)空閑,然后就想看看ViewVC對(duì)Subversion的支持程度,于是就想裝個(gè)玩玩。好死不死的,在我的VMWare Workstation上剛好有個(gè)Windows Server 2003,心想,就它吧,可就這么一偷懶,折騰了我好幾天,最終還是只能算將就著把它給裝上了。

          安裝環(huán)境:Windows Server 2003, IIS 6, Suberversion 1.3.0, ViewVC 1.0-Dev

          安裝步驟:

          一、首先安裝Subversion,按照Mere-Moments Guide to installing a Subversion server on Windows的介紹自然應(yīng)該是很容易就搞定安裝和簡(jiǎn)單配置的,然后往倉(cāng)庫(kù)中添加幾個(gè)文件,然后做點(diǎn)更新,以便從ViewVC中能看到點(diǎn)東西;

          二、安裝ViewVC
          1. 既然裝了Subversion,那就學(xué)以致用,直接從http://viewvc.tigris.org/svn/viewvc/trunk/檢出個(gè)最新的版本下來(lái)就行,或者到http://www.viewvc.org/nightly/下載個(gè)打包的版本;
          2. 如果你有閱讀Readme的習(xí)慣,那恭喜你,基本上完成基本的安裝配置是沒(méi)有問(wèn)題啦;當(dāng)然,你一定要看完整個(gè)REQUIREMENTS這一節(jié)再?zèng)Q定下載安裝Python的什么版本,很不幸,Subervsion現(xiàn)在提供的Python包(Python bindings)只支持Pythong 2.3,所以,如果你一開(kāi)始下載安裝的是Python 2.4,就得重新下載安裝了:):
          ????Subversion Python Bindings: http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
          ????Python 2.3: http://www.python.org/ftp/python/2.3.5/Python-2.3.5.exe
          ????pywin32: http://prdownloads.sourceforge.net/pywin32/pywin32-208.win32-py2.2.exe?download
          3. 安裝好這些后,將Python的安裝目錄添加到系統(tǒng)路徑中;
          4. 在剛才下載的ViewVC目錄下執(zhí)行:python viewvc-install,第一個(gè)提示后指定ViewVC的安裝目錄,第二個(gè)提示直接回車就行。

          三、ViewVC基本配置
          ??? 由于ViewVC自帶服務(wù)程序,因此,最好是先啟動(dòng)ViewVC服務(wù)程序,如果ViewVC自己運(yùn)行正常的話,那就不用考慮ViewVC的配置問(wèn)題了,想當(dāng)初俺就沒(méi)有充分利用這一點(diǎn),而在IIS和ViewVC之間反復(fù)修改參數(shù),都不知道是怎么死的。
          1. ViewVC最簡(jiǎn)單配置
          ??? 打開(kāi)viewvc.conf,修改下面幾行:
          ??? 將cvs_roots = cvs: /home/cvsroot注釋掉;
          ????#svn_roots = svn: /home/svnrepos 改成類似于 svn_roots = mytest: C:\svn_repos\mytest,其中mytest是你指定的倉(cāng)庫(kù)名,冒號(hào)后面跟的是倉(cāng)庫(kù)所在的路徑;
          ????default_root = cvs注釋掉,這樣你至少可以看到倉(cāng)庫(kù)列表。
          2. 雙擊ViewVC\bin下的standalone.py,就可以啟動(dòng)ViewVC自帶的Web服務(wù),然后在IE中輸入http://localhost:7467/viewvc就應(yīng)該可以看到倉(cāng)庫(kù)列表了,到這一步為止,我沒(méi)有碰到什么障礙,所以,沒(méi)什么可以提示的了;
          3. 點(diǎn)擊任何一個(gè)倉(cāng)庫(kù),就應(yīng)該可以看到倉(cāng)庫(kù)中的目錄或文件了,但是,如果你在IE中看到如下的提示:
          ????ImportError: No module named svn? 那說(shuō)明你沒(méi)有安裝Subversion的Python包,或者將其放到了Subversion的目錄下了;
          ????'module' object has no attribute 'SubversionRepository' 那說(shuō)明你將Subversion的Python包復(fù)制到了viewvc的vclib下,并且覆蓋掉了viewvc自己的文件;那么,要怎樣安裝這個(gè)包呢,ok,將其復(fù)制到ViewVC或者Python的lib目錄下吧,唉,當(dāng)初整這個(gè)也費(fèi)了我不少周折,慚愧,誰(shuí)叫我是個(gè)Python盲呢:(

          四、安裝diff和enscript工具
          ????就這樣看看,也已經(jīng)比Subversion自帶的Web界面好很多了,當(dāng)然我們還應(yīng)該挖掘ViewVC另外兩個(gè)基本功能:比較和語(yǔ)法高亮顯示,這樣才顯得專業(yè)嘛。
          1. 到http://gnuwin32.sourceforge.net逐一下載以下工具:DiffUtils, enscript, libintl, libiconv, sed將其一股腦全部安裝好,將其bin目錄添加到系統(tǒng)路徑中;
          2.?打開(kāi)viewvc.conf,將use_enscript =?0改成1,重新啟動(dòng)standalone.py;
          3. 然后你就可以比較任意兩個(gè)版本的差別了;
          4. 不過(guò),當(dāng)你要瀏覽某個(gè)文件時(shí),你會(huì)看到一個(gè)提示,說(shuō):libintl-2.dll或libiconv-2.dll之類的找不到,啊,先在ViewVC自帶的Web服務(wù)下運(yùn)行是多么的明智啊,如果你直接在IIS中調(diào)試,可就看不到這個(gè)提示了,這又是我N天的代價(jià):(;
          5. 為什么會(huì)這樣呢,不是安裝了Readme中提到的所有g(shù)nuwin32的包嗎?不過(guò),你是不是象我一樣下的都是最新的版本呢?記得enscript的版本嗎?這個(gè)可是個(gè)老古董,2003年推出的,而其它的基本上是05年、06年的,不兼容啊!安全起見(jiàn),當(dāng)然是安裝與enscript同時(shí)代的包啦,當(dāng)然,我將gnuwin32\bin目錄下的libiconv2.dll和libintl3.dll直接復(fù)制一份,改名成libintl-2.dll和libiconv-2.dll竟然也ok,看來(lái),老外們僅僅是在文件名上沒(méi)有向后兼容,函數(shù)名還是基本上一致的,所以動(dòng)態(tài)鏈接有動(dòng)態(tài)鏈接的好處,而靜態(tài)鏈接也不失為一個(gè)取巧的辦法啊;

          行文至此,ViewVC及相應(yīng)工具的安裝告一段落,不要再去考慮ViewVC的安裝配置問(wèn)題了,ViewVC的Readme也可以關(guān)掉了。接下來(lái)就是要在IIS上配置了。

          五、IIS6設(shè)置
          1. 創(chuàng)建一個(gè)虛擬目錄viewvc,直接指向ViewVC\bin\cgi就可以了,在虛擬目錄訪問(wèn)權(quán)限步驟勾選執(zhí)行權(quán)限,如下所示;

          2. 在剛創(chuàng)建的虛擬目錄上點(diǎn)擊右鍵,選擇屬性,點(diǎn)擊配置按鈕,在應(yīng)用程序配置對(duì)話框中點(diǎn)擊添加,填寫如下所示的內(nèi)容;

          3. 切換到文檔頁(yè),將viewvc.cgi設(shè)置為默認(rèn)內(nèi)容文檔。

          在Windows 2000下,到這里就可以了;但是在2003下,還要做下面兩步。

          4.?點(diǎn)擊Web服務(wù)擴(kuò)展,理論上應(yīng)該添加一個(gè)新的Web服務(wù)擴(kuò)展,然后僅允許這個(gè)服務(wù),但我沒(méi)有弄出來(lái),所以,直接就允許所有未知cgi了,這也是我一開(kāi)始說(shuō)將就著用來(lái)著。到這里,基本上可以運(yùn)行ViewVC了,但做比較和語(yǔ)法高亮顯示有問(wèn)題,如果你想試試,還得先重啟一下機(jī)器,這也是讓我花了N天的代價(jià)的地方,如果你真按ViewVC的Readme中的Troubleshooting的建議左改右改的話,估計(jì)最后還是無(wú)計(jì)可施。當(dāng)然,在它的Troubleshooting最后有個(gè)表,其中有一項(xiàng)提到如果修改了系統(tǒng)變量的話,需要重啟機(jī)器,我是重啟完后才體會(huì)到這一點(diǎn)的:(;

          5. 按默認(rèn)設(shè)置創(chuàng)建一個(gè)新的應(yīng)用程序池,在新建的應(yīng)用程序池上點(diǎn)擊右鍵,選擇屬性,選擇標(biāo)識(shí),在預(yù)定義帳戶中選擇本地系統(tǒng);然后再修改viewvc虛擬目錄的屬性,將應(yīng)用程序池改為剛創(chuàng)建的應(yīng)用程序池,重新啟動(dòng)機(jī)器。
          ?
          到這里,基本完成ViewVC在IIS6上的安裝,其中辛酸自知啊!

          六、不足
          1. ViewVC for Subversion不提供類似CVSGraph的圖形化版本樹(shù)功能;
          2. 如果提交的日志中有中文,將顯示亂碼,需要手工設(shè)置瀏覽器編碼,或者修改ViewVC的模版templates\include\header.ezt,在緊挨著<head>的下方添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,因?yàn)镾ubversion使用的是utf-8編碼;
          3. 如果你的源代碼中有中文,則日志和源代碼不能兩全,其中必有一個(gè)是亂碼,難不成你源代碼也用utf-8編碼?如果你會(huì)Python,則建議修改一下ViewVC代碼,將日志先由utf-8轉(zhuǎn)換成gb2312,據(jù)說(shuō)小海龜就是這么做的。

          ???????

          posted on 2006-04-05 00:28 Evan 閱讀(7697) 評(píng)論(5)  編輯  收藏 所屬分類: SE筆記

          評(píng)論

          # re: Windows 2003+IIS6下安裝ViewVC for Subversion的苦難歷程 2006-08-09 23:40 ekylin
          修改ViewVC的模版templates\include\header.ezt,在緊挨著<head>的下方添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,還是會(huì)顯示亂碼.哪里還有不對(duì)頭呢?  回復(fù)  更多評(píng)論
            

          # re: Windows 2003+IIS6下安裝ViewVC for Subversion的苦難歷程 2006-08-09 23:49 ekylin
          補(bǔ)充:用viewvc standalone方式可正確顯示,但用apache2瀏覽始終是亂碼.  回復(fù)  更多評(píng)論
            

          # re: Windows 2003+IIS6下安裝ViewVC for Subversion的苦難歷程 2006-08-09 23:56 ekylin
          補(bǔ)充:查看頁(yè)面源碼,無(wú)<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  回復(fù)  更多評(píng)論
            

          # re: Windows 2003+IIS6下安裝ViewVC for Subversion的苦難歷程 2007-05-25 01:23 yuwei
          可以在viewvc.conf文件里面把languages設(shè)為ch-zn即可正確顯示中文,不過(guò)我用的是1.1版的ViewVC,不知道老版本中有沒(méi)有這個(gè)項(xiàng)。  回復(fù)  更多評(píng)論
            

          # re: Windows 2003+IIS6下安裝ViewVC for Subversion的苦難歷程 2008-08-30 11:49 goldpicer
          我的源代碼就是用UTF8編碼的。這好象是很多IDE的默認(rèn)設(shè)置  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 冷水江市| 久治县| 三门峡市| 永济市| 江西省| 句容市| 镇坪县| 凤翔县| 临夏县| 南木林县| 永德县| 德安县| 林西县| 姚安县| 荆门市| 鸡泽县| 汉寿县| 尤溪县| 阿合奇县| 巴东县| 麦盖提县| 章丘市| 钦州市| 鄂温| 桃江县| 沐川县| 腾冲县| 安宁市| 靖边县| 通海县| 河东区| 新疆| 济阳县| 汝阳县| 凌云县| 镇平县| 崇仁县| 新疆| 临安市| 赞皇县| 黄平县|