如何檢出SVN老版本代碼


 

問題        

  在項目開發過程中,我們總會需要檢出SVN老版本代碼,比如發布一個穩定版本到UAT環境,然后該穩定版本上又測試出了一些不得不修改的Bug,這個時候我們就必須要檢出對應版本的代碼,而不是SVN上最新的代碼。

SVN相關概念

全局版本號

  不像其他版本控制系統,SVN的修訂號是針對整個目錄樹的,而不是單個文件。每一個修訂號代表了一次提交后版本庫整個目錄樹的特定狀態,另一種理解是修訂號N代表版本庫已經經過了N次提交

SVN打Tag

  建立一個SVN版本庫時,SVN會根目錄下先建立trunk、branches、tags這三個文件夾,其中trunk是開發主干,存放日常開發的內容;branches存放各分支的內容,比如為不同客戶定制的不同版本;tags存放某個版本狀態的標簽,比如驗收測試版、1.0.3版等。branhces和tags本質沒有區別,都是通過svn copy方式建立的,差異在於通常branches中的內容是需要繼續修改或開發的,tags中的內容是存放不再修改的,這一般通過權限設置來解決,tags通常只給管理員開放寫權限。命令行的話,就是svn copy,TortoiseSVN客戶端的菜單叫分支/標記。

解決辦法

1. 在發布包趨於穩定時,對每個發布版本都做Branch,如果發布版本驗證通過,保留Branch供后續使用,否則刪除Branch。SVN Tag與Branch類似。

2. 利用SVN的全局版本號。當發布每個版本時,記錄當時的SVN全局版本號,后續可以通過SVN命令Check Out或Export出對應版本的代碼。TortoiseSVN里對應的菜單為:

  

 

SVN也提供Command來完成這項工作,Command格式為:

svn co URL[repository URL] -r [version num],其中version number為參數,可以為數字型的,也支持時間,SVN會自動Check Out最接近這個日期的版本。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM