推薦《Version Control with Subversion》

      《Version Control with Subversion》是一本subversion的手冊,同時也是一本不錯的入門書。

        這本書的一個特點是免費、可在線下載、不斷更新。書本身也是用subversion這個工具來維護着它的版本的,這確實很好:可允許多人編輯、各人提交,然後演變到下一版本。我看的版本是r4331的。

        手冊的原則是易懂。書中首先簡單介紹subversion裏用到基本概念:如repository、working copy、subversion的copy-modify-merge模式、revision、subversion的常見操作等。接着第二章描述subversion在日常使用的流程:基本上就是check out、update、modify、difference、commit、resolve conflicts。跟着第三章進一步講解高級點的東西:包括revision在命令裏的表示方式(除了可用數字表示之外,還可用日期)、revision又可分爲peg revision和operative revision(這個peg revision,除非是比較刁鑽的使用者,常人一般都用不上)、可附在repository裏的各種目錄或文件上的properties(目錄和文件有版本演化的記錄,而附在它們上面的properties同樣也版本演化的記錄。properties主要是用來描述目錄或文件的一些性質,如文件的content-type,此外,subversion裏的一些高級功能也要藉助properties來實現)、文件的上鎖、subversion的客戶端的隱私數據的存放等。第四章着重講述開發人員都常碰到的Branching和merging,自己在工作上的merging大多是利用Beyond Compare逐個文件對比來完成的,即使是subversion提供了merge的命令,但總怕漏掉了些東西。其中,書中提到vendor branches很不錯,說的是在開發的過程中需要用第三方的開源庫,而又想對該庫進行定製,同時又想保持與up stream的同步,就可在開發的trunk裏建個目錄用來存放自己對該庫的定製代碼,同時另建個branch來存放該庫的源碼(這個branch就稱爲vendor branch)。每當該庫有新版出來後,就可將新版本的代碼在合併到該庫對應的vendor branch裏,然後再將vendor branch裏的修改merge到trunk裏去。第五章是教一個subversion管理員如何管理repository的;而第七章是教授如何對subversion的客戶端進行定製以適合自己的口味。第六章詳細講解了如何在服務器端配置、啓動subversion,包括svnserve、apache http(s)等方式。其中svnserve的啓動方式又可有多種:如手動在後臺啓動、用inetd啓動、通過SSH來啓動、在windows平臺的話可將svnserve作爲服務來啓動、在Mac OS X平臺的話可將svnserve作爲lauchd job來啓動。Apache的配置要比svnserve要複雜點,不過應該也複雜不了多少,雖然我沒弄過。第八章就是面向開發人員的,講解subversion裏的各模塊、開放的接口,以便讓人開發類似Tortoise SVN的軟件。

       除了第五和第八章外,全書匆匆看完,subversion的初級、中級、高級的用法都介紹了一遍了,如果想更進一步瞭解subversion裏的工作細節和學習其軟件架構,就需要閱讀源代碼了。

發佈了34 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章