Subversion Notes
Intro
Subversion (svn) is a version control system initiated in 2000 by CollabNet Inc. It is used to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal was to be a mostly-compatible successor to the widely used Concurrent Versions System (cvs) and provide a mush more integrated support for versioning of binary blobs.
Subversion is used by many open source projects. Some well-known projects that use Subversion include: Apache Software Foundation, KDE, GNOME, Free Pascal, GCC, Python, Ruby, Samba and Mono. SourceForge.net and Tigris.org also provide Subversion hosting for their open source projects. Google Code and BountySource systems use it exclusively.
Subversion is released under the Apache License, making it free software.
Notes
High Level
Branches, Tags and Merging
- Tags
- Branching and Merging
- Top 10 Subversion Tips for CVS Users
- A Novices Tutorial on Subversion
- Branches, tags and mergers
- How Tags Work in Subversion (Confluence!)
- Branch and Tag Support in Subversion
External links
- Official site
- Version Control with Subversion, an O'Reilly book available for free online
- Version control for non-programmers with Subversion
- DMOZ Notes on Subversion
- Merging and branching in Subversion 1.5 By John Ferguson Smart, JavaWorld.com.
- Introducing Subversion by Elliotte Harold
- http://ait.web.psi.ch/services/software_hosting/version_control/ar01s03.html
Processes
Initializing a New Repository
$ svnadmin create /path/to/repos
Misc Commands
Some miscelaneous commands:
svnadmin
svnadmin svnadmin create /u/svn svnadmin help
svn
Some svn commands...
svn co svn+ssh://root@stubs/u/svn/projects/LDAP/Scripts svn add src svn ci svn update svn help svn help import svn import tst svn init svn list file:///u/svn svn list file:///u/svn/projects/<PROJECT>/Scripts
Add Missing Files in Subversion
alias svn_add="svn stat | grep '?' | sed -e 's/[? ]*//' | xargs svn add"