the new version control system. kiril karaatanasov, july 2006 what is subversion subversion is a...

13
The new version control system

Upload: paulina-wilcox

Post on 28-Dec-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion

The new version control system

Page 2: The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion

Kiril Karaatanasov, July 2006

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

Page 3: The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion

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

Page 4: The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion

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

Page 5: The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion

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

Page 6: The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion

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

Page 7: The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion

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.

Page 8: The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion

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!

Page 9: The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion

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

Page 10: The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion

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

Page 11: The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion

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

Page 12: The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion

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

Page 13: The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion

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