Download - Subversion Tech Report (2006)
![Page 1: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/1.jpg)
8/2/2006 v1.1 Joe Chavez
Subversion
Technical ReportJoe Chavez
August 2, 2006
1
![Page 2: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/2.jpg)
8/2/2006 v1.1 Joe Chavez2
Overview
• Motivation• History• Why subversion?• Architecture• Deployment
• Installation• Configuration• CVS Conversion• Subversion Client• IDE Support
2
![Page 3: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/3.jpg)
8/2/2006 v1.1 Joe Chavez3
Motivation
• Manage the change in information over time… Source code Documentation Binary files
• Not ground breaking Match main features of CVS Not duplicate the flaws Facilitate user switch
3
![Page 4: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/4.jpg)
8/2/2006 v1.1 Joe Chavez4
History
• Started by CollabNet in 2000• “Self-hosting” in August, 2001• Debian Free Software Guidelines license• CollabNet still pays the salaries of a
“few” full time employees• Version 1.3.1 released on April 3rd
4
![Page 5: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/5.jpg)
8/2/2006 v1.1 Joe Chavez5
Why subversion?
• Most current CVS features• Directories, renames, and file meta-
data are versioned• True version history• Atomic commits• Choice of network layers• Consistent data handling
5
![Page 6: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/6.jpg)
8/2/2006 v1.1 Joe Chavez6
Why subversion?
• Efficient branching and tagging• Integration• Standalone server option• Versioning of symbolic links• Parse ready output• Localized messages• Properties• Secure Access - SSH/SSL
6
![Page 7: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/7.jpg)
8/2/2006 v1.1 Joe Chavez7
Architecture
• Client Command Line (XP, *nix, OS X, etc.) IDE (IntelliJ, Eclipse… to name a few) Client Library
• Connectivity Internet
DAV (Apache mod_dav + mod_dav_svn) - http/s:// SVN - svn://
Local file://
7
![Page 8: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/8.jpg)
8/2/2006 v1.1 Joe Chavez8
Architecture
• Repository Berkeley DB FSFS (recommended)
• Built on the Apache Portable Runtime• Architecture diagram on next slide - from
Subversion docs
8
![Page 9: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/9.jpg)
8/2/2006 v1.1 Joe Chavez9
Diagram
9
![Page 10: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/10.jpg)
8/2/2006 v1.1 Joe Chavez10
Deployment
• OS Solaris 10
• Hardware TBD
10
![Page 11: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/11.jpg)
8/2/2006 v1.1 Joe Chavez11
Installation
• Distribution Via http://subversion.tigris.org/ and mirror sites
• Source Roll your own Enable options that are not part of the typical
“binary” distribution• Binary
Easy to install - don’t have to compile for all client platforms
May lag behind latest source release
11
![Page 12: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/12.jpg)
8/2/2006 v1.1 Joe Chavez12
Installation: Source
• Download Source• Configure (with SSL client)
./configure --with-ssl --with-swig• Make
make swig-py make install swig-py (as root on *nix)
12
![Page 13: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/13.jpg)
8/2/2006 v1.1 Joe Chavez13
Configuration
• Server Options Standalone Server Apache Module
• Standalone svn and svn+ssh (ssh tunneling)
• Apache HTTP and HTTPS (with SSL enabled client)
13
![Page 14: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/14.jpg)
8/2/2006 v1.1 Joe Chavez14
CVS Conversion
• Convert or Export?• Conversion
cvs2svn - http://cvs2svn.tigris.org/ Several options
Trunk only - No tags or branches Exclude - Selected tags and branches Project basis - Can break svn date range commands
• Export Use cvs export then svn import cvs repos should be read only for reference
14
![Page 15: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/15.jpg)
8/2/2006 v1.1 Joe Chavez15
Subversion Admin
• Admin svnadmin
create <path> dump load hotcopy
svnlook Inspect transaction history
svndumpfilter
• Hook scripts 9 hooks
15
![Page 16: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/16.jpg)
8/2/2006 v1.1 Joe Chavez16
Subversion Client
• Client - svn All local/remote access
• Repository commands svn import svn checkout svn commit
16
![Page 17: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/17.jpg)
8/2/2006 v1.1 Joe Chavez17
Subversion Client
• File commands svn add, svn delete, svn copy, and svn move svn status - client side only, no “update” side
effects -u to show repository updates
svn diff - no net access svn revert - revert to original file and undo
scheduled operations svn update - interesting if conflicts are found svn resolve - use to resolve a conflict
17
![Page 18: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/18.jpg)
8/2/2006 v1.1 Joe Chavez18
Subversion Client
• History Commands svn log - detailed file history
-v for path changes -q for no log body -v -q for names of changed files
svn cat - display file or particular revision svn list - show file list for a directory
-v for detailed info
18
![Page 19: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/19.jpg)
8/2/2006 v1.1 Joe Chavez19
IDE Support
• IntelliJ Check out on command line first Create new project Set subversion as source control
• Eclipse - Subclipse Plug-in Install URL
http://subclipse.tigris.org/update_1.0.x Select “SVN Repository Browsing”
perspective
19
![Page 20: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/20.jpg)
8/2/2006 v1.1 Joe Chavez20
Summary
• Motivation• History• Why subversion?• Architecture• Deployment
• Installation• Configuration• CVS Conversion• Subversion Client• IDE Support
20
![Page 21: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/21.jpg)
8/2/2006 v1.1 Joe Chavez21
Q & A
• Got questions?
21
![Page 22: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/22.jpg)
8/2/2006 v1.1 Joe Chavez22
References
• SSC Subversion Main Site: https://audrey.ipac.caltech.edu/svn
Install notes This presentation Full technical report
• Subversion http://subversion.tigris.org
• Version Control with Subversion (free book) http://svnbook.red-bean.com/
• cvs2svn http://cvs2svn.tigris.org/
22
![Page 23: Subversion Tech Report (2006)](https://reader033.vdocuments.us/reader033/viewer/2022060118/558b303ed8b42a5e468b45b7/html5/thumbnails/23.jpg)
8/2/2006 v1.1 Joe Chavez23
Open Issues
• User account management• Rollout schedule• Training
23