你應該通過http://svnbook.com Subversion在線參考的前幾章。這將使您在版本控制和Subversion上都能夠快速而良好地開始。
你正在做的事情非常接近Subversion的工作方式。你有這些目錄嗎?
在標準的Subversion設置中,你設置了一個「tags」,「branches」和「trunk」目錄。有些人將其設置在其存儲庫的根目錄中,其他人則將其設置在每個項目的根目錄下。
例如:我見過
svn://svn/trunk/proj1
svn://svn/trunk/proj2
svn://svn/branches/proj1/1.2
svn://svn/branches/proj2/3.4
或
svn://svn/proj1/trunk
svn://svn/proj2/trunk
svn://svn/proj1/branches/1.2
svn://svn/proj2/branches/3.4
大多數網站做最後的方式,但是也可以做第一種方式(主要是由於使用的優點svn:externals
以及您結帳時的情況,您的結帳默認情況下不會被稱爲trunk
)。
所有你需要做的就是打電話給你的「舊版本」目錄tags
和你所有的設置:
svn://svn/UI/tags/1.0
svn://svn/UI/tags/2.0
svn://svn/UI/tags/2.5
svn://svn/UI/trunk
如果您忘記做出標記,恐慌,你們不要!關於Subversion的一個很棒的事情是版本庫的版本號。這就像每次做提交時都做一個標籤。如果你能找到的版本號,當你做了一個版本(通常是通過看svn log
),然後你可以複製版本創建您的標籤:
$ svn cp -r1234 svn://svn/UI/trunk svn://svn/UI/tags/2.0
正如你所看到的,你用svn cp
命令創建標籤和分支。順便說一下,修改標籤非常容易,而不會意識到它。在大多數站點中,它們都有一個預先提交的鉤子,它可以阻止大多數用戶在標籤目錄下進行提交(這意味着您必須創建標籤),或者允許用戶創建標籤(通過svn cp
),但不允許用戶修改標籤一旦創建。如果你想看看它,我有一個Perl版本的預提交鉤子,在http://dl.dropbox.com/u/433257/new_svn_hooks.zip。
不錯的預先提交腳本!我可能不得不採用這種方式,總會有人不評論! – Martin 2010-11-23 14:25:38
謝謝你的回答! – Routa 2010-11-23 14:25:50
@Routa:如果這對你有幫助,請投票和/或接受答案。 :) – 2010-11-23 14:27:07