版次控制(Reversion Control)系統


橄欖球精神

Reversion Control
Revision control (also known as version controlsource control or (source) code management (SCM)) is the management of changes to documents.
http://en.wikipedia.org/wiki/Revision_control

學習JAVA甚至開發JAVA程序, 大多數的個人專案是不太建議以JAVA當為首選的, 也因此JAVA開發者必須學習與他人共同創作, 積極地在團隊扮演好的隊友, 通常也是大多數公司的最重要的用人指標, 一位能力再強的JAVA開發者, 缺乏團隊精神, 通常也是失敗的.

軟體開發專案通常是多人交互且同時進行工作的, 這時如何有效對眾多的 Code flies 進行管理和版次間的變動做一記錄, 是必要且有系統的被管理.



Reversion Control


版本控制(Revision control)是維護工程藍圖的標準作法,能追蹤工程藍圖從誕生一直到定案的過程。此外,版本控制也是一種軟體工程技巧,藉此能在軟體開發的過程中,確保由不同人所編輯的同一程式檔案都得到同步。
軟體設計師常會利用版本控制來追蹤、維護源碼文件以及設定檔等等的更動,並且提供控制這些更動控制權的程序

相關術語


  • 檔案庫(Repository)存最檔案的新版本還有歷史資料的地方,通常是在伺服器上。有時候也叫Depot
  • 提交(Commit)將本地端的修改送回檔案庫。(由版本控制軟體處理跟上次更動相比哪個檔案又被更動的事)
  • 變更(Change) 對一份文件作的特定更動。
  • 變更記錄(Change List) 
  • 取出(Check-Out) 從檔案庫取出檔案到本地端。
  • 更新(Update) 將檔案庫的修改送到本地端(與送交相反)
  • 版次(Revision) 一個revision或version指的是一系列版本變遷的其中之一。
  • 匯入(Import) 
  • 匯出(Export)



Subversion


http://zh.wikipedia.org/w/index.php?title=Subversion&variant=zh-tw
Subversion,簡稱SVN,是一個開放原始碼的版本控制系統。
  • 任何一次提交都會對所有文件增加到同一個新版本號,即使是提交並不涉及的文件。所以,各文件在某任意時間的版本號是相同的。版本號相同的文件構成軟體的一個版本。
  • 原子提交。一次提交不管是單個還是多個文件,都是作為一個整體提交的。在這當中發生的意外例如傳輸中斷,不會引起數據庫的不完整和數據損壞。
  • 重命名、複製、刪除文件等動作都保存在版本歷史記錄當中。
  • 目錄也有版本歷史。整個目錄樹可以被移動或者複製,操作很簡單,而且能夠保留全部版本記錄。

SVN Client


TortoiseSVN是一個Subversion用戶端軟體,以Windows shell extension的方式寫成。它是自由軟體,以GNU通用公共許可證發佈。
http://zh.wikipedia.org/w/index.php?title=TortoiseSVN&variant=zh-tw



RapidSVN, http://rapidsvn.tigris.org/



Git



for Mac OS
http://gitx.frim.nl/

http://code.google.com/p/tortoisegit/



Trac Project


http://trac.edgewall.org/



Eclipse 3.5 - SVN Plug-ins


  • Eclipse 3.5 and SVN 安裝教學
  • Collaboration
    • Subversive SVN Integration for the Mylyn Project (Optional) (Incubation)
      • Integration with Mylyn http://www.eclipse.org/mylyn Installation is possible only if Mylyn is already installed or installed in one step with Eclipse Subversive.
      • Subversive SVN Team Provider (Incubation)
        • The Eclipse Team Provider for the Subversion version control system. 
  • Add Update Site
    • SVN connectors for the Eclipse Subversive project. All available connectors support Subversion up to 1.6.
      • http://community.polarion.com/projects/subversive/download/eclipse/2.0/galileo-site/ - [required] Subversive SVN Connectors
        • for Win32
          • JavaHL 1.6.0 Win32 Binaries (Optional)    2.2.0.I20090505-1500
        • for Mac OS
          • SVNKit 1.3.0 Implementation (Optional)    2.2.0.I20090505-1500
          • Native JavaHL 1.X Implementation (Optional)    2.2.0.I20090505-1500
          • SVN Kit http://www.svnkit.com connector for the Eclipse Subversive. Compatible with SVN 1.6.x.
            • Subversive SVN Connectors    2.2.0.I20090505-1500    org.polarion.eclipse.team.svn.connector.feature.group
            • Subversive SVN Team Provider (Incubation)    0.7.8.I20090506-1500    org.eclipse.team.svn.feature.group
        • SVNKit 1.3.x - http://eclipse.svnkit.com/1.3.x/
          •  SVNKit Library    1.3.0.5847
            • SVNKit is a pure java Subversion client library that may be used through its own API or serve as a transparent replacement of native javahl bindings.
            • http://www.svnkit.com/download.php



練習用儲存庫




入門參考文選


http://yanpos.myweb.hinet.net/SVNteach/
http://jijian91.com/blog20061215/tortoisesvn.html
http://liangkuo.blogspot.com/2007/03/svn-subversion-tortoisesvn.html






Mercurial


News
Google Code 支援Mercurial版本控制系統 - 2009-04


為什麼我們要放棄Subversion - 2009年3月16日


隨著軟體專案的不斷成長,我發現有必要對依賴庫納入正規軍,進行正式化管理。其實當初產生這個想法的原因是我想升級spring2.0到spring2.5版 本,還想升級hibernate,和spring web flow,其實升級這些庫文件是很簡單,可是由於我之前沒有開發測試用例,都是人工在瀏覽器進行測試,我放棄了升級的念頭,畢竟,穩定壓倒一切,這也給我 了一個警告:測試用例得跟上,好處大大的。 

Subpages (1): Mercurial - hg
Comments