NAnt 0.85的兩個bug (續)
Posted on 2006-12-17 22:49 laogao 閱讀(2433) 評論(1) 編輯 收藏 所屬分類: Programming in General 、The Other Sidehttp://www.aygfsteel.com/sean/archive/2006/12/15/87874.html
上一篇提到NAnt 0.85的兩個bug,經過一番折騰,發現問題其實出在它bundle的sharpcvslib(scvs.exe),我的解決步驟如下:
1- 安裝CVSNT,并在編譯腳本加入
<property?name="sourcecontrol.usesharpcvslib"?value="false"/>
讓NAnt不要使用那個bundle的sharpcvslib(scvs.exe),而是使用CVSNT的cvs.exe;2- 去掉先前由NAnt建議的<cvs-pass>這個Task,以及<cvs-checkout>中的passfile屬性;
3- 指定cvsroot中直接包含密碼,格式
:pserver:username:password:@xxx.xxx.xxx.xxx:/your/cvs/path
前面提到的文件編碼以及用戶密碼驗證等問題均不復存在。
以下談一談我的觀感:
.NET的開源項目,就NAnt和sharpcvslib來說,不論是代碼質量、文檔、社區活躍程度、更新/反饋周期,都還有很大的改進和提高的空間,從實際效果來看,感覺.NET部分開源項目的定位和初衷也很值得思考,究竟一個.NET開源項目的存在更多的是要證明.NET/C#也可以做到xxxx,還是要解決實際問題?這背后的價值觀到底是什么?
如果是解決實際問題,那么為什么有現成的Win32環境下成熟的、完整的CVSNT可用,卻一定要自己搞一套cvs庫,而且還要默認使用這個相較而言頗為不成熟的庫?如果你跟我說這樣是需要對CVS訪問有更精細的控制,那我想還不如在CVS的命令行參數上多下些功夫來得實際。
其實CVS已經存在很久,對于基本的協議、標準,現有的不少CVS客戶端都實現的比較到位,sharpcvslib不知何故進展如此緩慢,官方站點 sharpcvslib.sourceforge.net最后更新時間是今年2月,上一個發布版本0.35是2004年,開發版本0.36是2005年1 月,NAnt也好不到哪里去,0.85的RC1版本2004年11月就出來了,正式的0.85到今年10月才放出,如果你看看它的bug database,很多bug都石沉大海。
這個版本的NAnt在使用中的一些細節的處理個人感覺也有些欠缺的地方:比如:使用<cvs-checkout>,password屬性被deprecated,直接就不支持了,沒辦法,“官方”建議使用<cvs-pass>那我們就用吧,但是<cvs-pass>和<cvs-checkout>就目前看來,配合的并不默契(詳見上一篇隨筆和bug ID 1616136)。
相比之下,生活在Java以及GNU/Linux/BSD下的朋友們,在上述這些方面就要幸運的多。