這個附錄可以作為CVS用戶開始使用Subversion的指南,實質上就是鳥瞰這兩個系統之間的區別列表,在每一小節,我們會盡可能提供相關章節的引用。
儘管Subversion的目標是接管當前和未來的CVS用戶基礎,需要一些新的特性設計來修正一些CVS「不好的」行為習慣,這意味著,作為一個CVS用戶,你或許需要打破習慣—忘記一些奇怪的習慣來作為開始。
在CVS中,修訂版本號是每文件的,這是因為CVS使用RCS文件保存資料,每個文件都在版本庫有一個對應的RCS文件,版本庫幾乎就是根據項目樹的結構建立。
在Subversion,版本庫看起來像是一個單獨的文件系統,每次提交導致一個新的文件系統;本質上,版本庫是一堆樹,每棵樹都有一個單獨的修訂版本號。當有人談論「修訂版本54」時,他們是在討論一個特定的樹(並且間接來說,文件系統在提交54次之後的樣子)。
技術上講,談論「文件foo.c的修訂版本5」是不正確的,相反,一個人會說「foo.c在修訂版本5出現」。同樣,我們在假定文件的進展時也要小心,在CVS,文件foo.c的修訂版本5和6一定是不同的,在Subversion,foo.c可能在修訂版本5和6之間沒有改變。
類似的,在CVS中標籤或分支是文件的一種標注,或者是單個文件的版本訊息,而在Subversion中,標籤和分支是整個目錄樹的拷貝(為了方便,進入版本庫最上層目錄的/branches或/tags子目錄,/trunk旁邊)。版本庫作為一個整體,每個文件的許多版本可見:每個分支的最新版本,每個標籤的最新版本以及trunk本身的最新版本。所以,我們再精煉一下術語,我們說「foo.c在修訂版本5出現在/branches/REL1。」
更多細節見「修訂版本」一節.