Subversion presentation
Download
Report
Transcript Subversion presentation
The new version control
system
What is Subversion
• Subversion is a newly developed
open source version control system
• Subversion enhances upon the
proven CVS
• Subversion is free
• Subversion is available on nearly all
platforms
Kiril Karaatanasov, July 2006
Why Subversion
• Versioning of the whole repository
not only files
• Support for both concurrent access
and locking
• Support for attributes on all object
– files, folders and revisions
• Optimized for distributed use
Kiril Karaatanasov, July 2006
Why Subversion II
• Updates are done in atomic
transactions
• One version of the repository
includes updates to multiple objects
• Operations like branching and
tagging are extremely efficient
Kiril Karaatanasov, July 2006
What is Revision in Subversion
• Revisions contain a set of modifications
to a set of files/folders i.e. One revision
refers many files
– User can see which files are modified in
parallel
• Revision numbers are global for the
repository each commit/check-in
increases the version of the repository
– Easy reversal of modifications as each
commit can be reverted to separately, there
is not issue with differentiating commits that
occurred approximately at the same time
Kiril Karaatanasov, July 2006
Concurrent Work
• Subversion supports the two currently
popular models for dealing with
concurrent development
– Concurrent edits (similar to CVS) a.k.a.
“copy-modify-merge “
– Locking of files (similar to SourceSafe)
• Both models can be used on the same
repository at the same time giving an
additional degree of control
Kiril Karaatanasov, July 2006
Metadata to all objects
• SVN supports properties that can be associated
to all objects
– Files
– Folders
– Revisions
• A property is combination of name and value
• All properties are versioned except those
associated with revisions
• Properties can be useful to:
– Identify resolution to defect in tracking system
– Track the status of particular revision i.e. self
reviewed, unit tested, inspected by peer etc.
Kiril Karaatanasov, July 2006
Accessing Subversion
• Subversion can be accessed:
– Using SVN client over HTTP/HTTPS by
extending Apache web server
– Using proprietary network protocol
– Using shared file system
• Latest version of files in Subversion
can be accessed using regular web
browser!
Kiril Karaatanasov, July 2006
Subversion clients
• TortoiseSVN – easy to use
integrated with Windows Explorer
client, has a built in diff tool
• Subclipse - Integrated in Eclipse
client
• Several standalone desktop clients
• Of course UNIX style command line
Kiril Karaatanasov, July 2006
Downsides
• Problem with web projects and
Visual Studio 2003
– A bug in Visual Studio 2003 prevents
it from operating when using
subversion on web projects
• Updates to the product are a bit too
frequent
• Concurrent editing model may be
frustrating to SourceSafe users
Kiril Karaatanasov, July 2006
Trac
• A web based system to
complement Subversion with
– Wiki
– Issue tracker
– Friendly web access to revision control
– Basic reports
• It is possible to cross refer
Subverison items with Wiki and
Issues
Kiril Karaatanasov, July 2006
Trac plus/minus
Positive
• Very nice web UI
• Integrated with
subversion
• Easy to learn
• Plug-in system
Downsides
• Admin UI is
incomplete forced
use of command
line
• Plug-in system is
problem in
maintenance
Kiril Karaatanasov, July 2006
Further reading / Questions?
• Subversion site http://subversion.tigris.org
• TortoiseSVN http://tortoisesvn.tigris.org/
• Trac’s web site http://www.edgewall.com/trac
Kiril Karaatanasov, July 2006