[Subversion] Keywords擴展設定
Subversion的Keywords與CVS的有著小小差異。在功能上二者相同,但在處理上則有不同。
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 |
##
您可能也會有興趣的類似文章
- 兩個Subversion的前端工具:QSvn、Subcommander (0則留言, 2006/06/23)
- TortoiseSVN: 解決TSVNCache佔用CPU過高的設定 (0則留言, 2007/08/21)
- Subversion與TortoiseSVN釋出新版1.3 (0則留言, 2006/01/05)
- SVN2CL: 自動產生變動紀錄的腳本–修改 (3則留言, 2006/08/23)
- 試用TortoiseSVN 1.4 RC1–更新 (2則留言, 2006/09/06)
- 重新排列右鍵功能表(Context Menu)的選項 (0則留言, 2006/07/16)
- TortoiseSVN的命令行操作 (0則留言, 2015/04/03)
- 初試TortoiseSVN的收穫 (4則留言, 2005/09/16)
- 使用IntelliJ IDEA快速設定svn:keywords的方法 (0則留言, 2014/04/04)
- [SVN] JavaSVN改名並推出新版本 (0則留言, 2006/11/16)
- 整合Redmine的TortoiseSVN外掛:TurtleMine (0則留言, 2015/01/23)
- 見微知著:觀《版本控制之道-使用Subversion》有感 (1則留言, 2007/08/19)
- 升級Subversion 1.7 (0則留言, 2012/11/06)
- [Subversion] 尋找Subversion Client工具 (0則留言, 2005/09/01)
- 試用SmartSVN 4造成的混亂 (1則留言, 2008/08/07)
感謝您的補充與分享。
修改設定檔裡的 [auto-props] 區塊,只能讓「之後新增」的檔案,自動擁有屬性,對於已經在 repository 裡的檔案,請參考:《Setting svn:keywords in many files simultaneously》http://www.jeffhung.net/blog/articles/jeffhung/436/