Subversion Tutorial Presenter: Ya-Lin Huang Introduction 版本控制系統是什麼? 管理對資訊所做人為變動 程式設計師的工具之一 為何要使用版本控制系統? 促成有效率的團隊合作 使變動歷程能被追溯 2 The Repository Subversion is a centralized system for sharing information. A repository is a central store of data in the form of a file system tree — a typical hierarchy of files and directories. 3 Problem of File-Sharing 4 Lock-Modify-Unlock Solution 5 Copy-Modify-Merge Solution 6 Subversion http://subversion.tigris.org/ http://svnbook.red-bean.com/ Subversion is the free/open-source version control system Manages files and directories over time. Remember every change even made to files and directories. Allows to recover older version of the code or examine the history of how your data changed. Collaborative editing and sharing of data (source code). 7 Terminology 檔案庫(Repository) 物件變更紀錄 維護貯放物件的關聯性 集中式管理 工作副本(Working Copy) 檔案庫物件(部份或全部)在 某個時間點的快照 可修改,可復原 8 Repository的程式可分為 主幹線(Trunk) 開發者 支線(Branch) 維護者 標記(Tag) 標示點 Subversion Proj your project working copy Tortoise SVN Command line Client interface Subversion library Internet/Intranet (any TCP/IP Network) http://joolz.csie.ncku.edu.tw/svn/team_name Subversion server SPM SPM Proj 9 project repository Subversion Repository Repository Access Mode The SVN server of Lab. is constructed in Apache server 10 SVN CLIENT 11 SVN Client : TortoiseSVN http://tortoisesvn.sourceforge.net/ TortoiseSVN is a free open-source client for the Subversion version control system. Extension for the Windows Explorer. Icons overlay shows all versioned / modified files. All Subversion commands available from the explorer context menu. available via a simple right click. 12 TortoiseSVN requires the administrative rights on your computer to be installed. Explorer showing icon overlays 13 Create a new SVN folder using repo-browser(1/2) 1) 2) 14 Choose a folder. Right click on the folder. (see as fig. below) Then enter the svn URL and authentication information. Create a new SVN folder using repo-browser (2/2) 3) 4) 15 Right click on a folder in repo-browser window. Enter folder’s name and log message if necessary. Create a local checkout folder.(1/2) 1) 2) 3) 16 Create a new folder. Right click on the folder. Choose “SVN Checkout” URL of the repository: http://joolz.csie.ncku.edu.tw/svn/Student_Package Create a local checkout folder.(2/2) 17 TortoiseSVN: Commit(1/2) At local checkout folder… Autocompletion Files Checkbox 18 TortoiseSVN: Commit(2/2) 19 TortoiseSVN: Update Case 1: your SVN files needed to be updated. Case 2: your SVN files are up-to-date. 20 TortoiseSVN: Conflicted(1/3) Repository: Revision 11 21 Local: Modify Revision 9 TortoiseSVN: Conflicted(2/3) At this moment, whatever you do… Update. Commit. 22 TortoiseSVN: Conflicted(3/3) 23 Exercise 安裝Subversion TortoiseSVN http://tortoisesvn.net/ 下載實驗室重要資料 Repository http://joolz.csie.ncku.edu.tw/svn/Student_Package 上傳畢業光碟資料 svn commit URL: 各組連結 24