SVN Checkout Single File(SVN簽出,更新單個檔案)
Context(上下文):
技術總在更新。VSS,CVS,SVN,代碼管理工具也在不斷升級;雖然不能說下一代一定比上一代更好(“好”的定義很難。),或更高效,更適合工作;但產品總在開發;
最初的VSS,SAW,SOS(SourceOffSite,比較不錯的工具,可惜收費很貴),到後來開源的CVS,SVN;都是不錯的工具;
公司有人組織開始使用SVN做為代碼管理工具;SVN,是CVS的升級版,當然要比CVS有優勢才可以;
SVN網站:http://subversion.tigris.org/
SNV中文站:http://www.subversion.org.cn/
Windows使用TortoiseSVN做為SVN用戶端工具是最常見的,當然,在Unix系統,可以採用命令列進行管理;命令列的功能要比案頭工具強大;
Problem(問題):
SVN基本使用沒問題了。可以Checkout,Update,Commit等等操作都很好;唯一缺少的是如果伺服器添加了一個新的檔案,我只想要更新單個檔案,這時候就遇到麻煩了。
SVN的Update方法,是針對某個目錄進行Update;所以,如果你的目錄中有成百上千個檔案,你要Update一次,可算是大折騰一回了。
Solution(解決方案):
Google後的結果發現,SVN1.4目前不支援CheckOut單個檔案;在SVN1.5Dev版本中允許CheckOut單個檔案,但是未正式發布;但可選的替代方法有兩個:
1. 採用 SVN Cat命令;當然,採用命令列方式,是可以做到;Cat單個伺服器檔案到本地;這樣可以無需更新所有檔案,就能達到只更新某個特定檔案的目的;
2. 採用 TortoiseSVN的Revert選項;該選項同SVN的Cat命令類似;具體使用方法
2.1選中TortoiseSVN 的“Check for modifications”菜單:
2.2點擊後出現如下頁面.
點擊“Check repository”列出了伺服器存在或者本地修改的檔案;
2.3 右鍵點擊要更新的檔案;出現菜單,選中菜單“Revert”即可將該檔案覆蓋到本地;
注意。。。:該方法是直接覆蓋伺服器檔案到本地;屬於CheckOut,而不是Update; 如果本地檔案已經修改過了,此時會丟失本地的修改記錄;
2.4結束;
祝大家使用SVN愉快工作;
參考文章
SVN中文站:http://www.subversion.org.cn/tsvndoc/
SVN官方網站:http://subversion.tigris.org/
TortoiseSVN 簡明使用:http://fairyfish.net/2007/09/08/tortoisesvn-introduce/