the new version control system. kiril karaatanasov, july 2006 what is subversion subversion is a...
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](https://reader036.vdocuments.us/reader036/viewer/2022071807/56649e605503460f94b5b796/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022071807/56649e605503460f94b5b796/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022071807/56649e605503460f94b5b796/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022071807/56649e605503460f94b5b796/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022071807/56649e605503460f94b5b796/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022071807/56649e605503460f94b5b796/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022071807/56649e605503460f94b5b796/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022071807/56649e605503460f94b5b796/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022071807/56649e605503460f94b5b796/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022071807/56649e605503460f94b5b796/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022071807/56649e605503460f94b5b796/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022071807/56649e605503460f94b5b796/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022071807/56649e605503460f94b5b796/html5/thumbnails/13.jpg)
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