2005-09-04 00:07 [Subversion] Keywords擴展設定
Subversion的Keywords與CVS的有著小小差異。在功能上二者相同,但在處理上則有不同。
CVS只要在Commit的文件中有符合規則的Keywords,就會自動擴展成對應的文字,但Subversion則預設不會擴展,必須針對需要擴展的檔案設定性質(Property) svn:keywords:要用的Keywords,例如:
不幸的,$Id$的處理和CVS一樣:時間都少了8個小時,而呈現格林威治的零時時間,而$Date$(其實就是$LastChangeDate$的縮寫)則是正確的中原標準時間。
$Id$擴展的內容又和使用的Client而有所不同;eSVN和TortoiseSVN都是產生成上列表格第一列的少了8小時的文字,IDEA透過JavaSVN則產生成類似第二列的有中文的文字,然而IDEA寫回來的中文字是UTF-8的編碼,但Java或JSP若編碼為ANSI-950時,中文字就變成亂碼了。這個亂碼問題除非全面改用UTF-8編碼,否則看來是無解的。
如果專案裡的檔案都要一個一個的去設定性質,那可是太煩人的工作了。為了將Keywords擴展變成是預設的行為,我們必須修改Subversion client的系統設定檔:C:Documents and Settings用戶名Application DataSubversionconfig。
把config檔案內做如下修改,即能讓所有檔案自動具有Keywords擴展的功能:
##
CVS只要在Commit的文件中有符合規則的Keywords,就會自動擴展成對應的文字,但Subversion則預設不會擴展,必須針對需要擴展的檔案設定性質(Property) svn:keywords:要用的Keywords,例如:
| svn:keywords=Id | $Id: t4.jsp 95 2005-09-03 10:14:35Z jerry $ |
| svn:keywords=Date | $Date: 2005-09-03 18:14:35 +0800 (星期六, 03 九月 2005) $ |
不幸的,$Id$的處理和CVS一樣:時間都少了8個小時,而呈現格林威治的零時時間,而$Date$(其實就是$LastChangeDate$的縮寫)則是正確的中原標準時間。
$Id$擴展的內容又和使用的Client而有所不同;eSVN和TortoiseSVN都是產生成上列表格第一列的少了8小時的文字,IDEA透過JavaSVN則產生成類似第二列的有中文的文字,然而IDEA寫回來的中文字是UTF-8的編碼,但Java或JSP若編碼為ANSI-950時,中文字就變成亂碼了。這個亂碼問題除非全面改用UTF-8編碼,否則看來是無解的。
如果專案裡的檔案都要一個一個的去設定性質,那可是太煩人的工作了。為了將Keywords擴展變成是預設的行為,我們必須修改Subversion client的系統設定檔:C:Documents and Settings用戶名Application DataSubversionconfig。
把config檔案內做如下修改,即能讓所有檔案自動具有Keywords擴展的功能:
| [miscellany] enable-auto-props = yes |
| [auto-props] *.jsp = svn:keywords=Id URL *.jspf = svn:keywords=Id URL *.java = svn:keywords=Id URL *.htm = svn:keywords=Id URL *.html = svn:keywords=Id URL *.xml = svn:keywords=Id URL *.js = svn:keywords=Id URL |
##
平均分數:0 顆星 投票人數:0 人
我要評分:
我要評分:
回應





more