1 / 17

Version Control for a Modern World

Version Control for a Modern World. Garrett Rooney, Senior Software Engineer (and Subversion committer), CollabNet Inc. June 2006. Agenda. What is Subversion? Brief history Why should you use it? Current feature set New features in 1.4.x What's on the horizon. What is Subversion?.

feo
Download Presentation

Version Control for a Modern World

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Version Control for a Modern World • Garrett Rooney, Senior Software Engineer (and Subversion committer), CollabNet Inc. • June2006

  2. Agenda What is Subversion? Brief history Why should you use it? Current feature set New features in 1.4.x What's on the horizon

  3. What is Subversion? Historically, the de-facto standard in open source version control is CVS Provides a great model for distributed teams Non-locking development keeps people from getting in each other's way But CVS has problems... Evolved over time, not designed for the modern world Feels like the whole thing is duct taped together Inefficient Lacks many features you expect in a modern system

  4. Subversion History CollabNet used CVS as part of its collaborative software suite Replace CVS, take the good part, fix the rest CollabNet started Open Source Subversion in 2000 August 2001 – Subversion becomes self-hosting February 2004 – version 1 released Current release is 1.3.2 (1.4 coming in July)

  5. Subversion History • CollabNet remains primary corporate sponsor • Team of Subversion committers • Host the development environment at tigris.org (on our open source platform: CollabNet Community Edition) • Integrates Subversion in its product line • Subversion growing rapidly. Public Apache servers: May 2006 > 35000

  6. Subversion versus CVS Keeps the general workflow, and most of the commands Totally rebuilt from the ground up for a modern world Networking thought of from the beginning Streams data instead of keeping it in memory Clever repository design that makes tagging and branching very cheap Efficient handling of binary files Atomic commits WebDAV support Versions directories and metadata, not just files Extensive APIs Working copy lets you do many things offline svn status, svn diff

  7. Subversion Compared to Other Systems Better high end scalability than Perforce Works well over a network, unlike ClearCase

  8. Subversion for Java Development Many features are particularly useful for Java developers Files and directories can be renamed without losing history You can actually delete a directory, unlike CVS Integrated into numerous IDEs Eclipse Netbeans IDEA Oracle JDeveloper Java bindings let you write code that uses Subversion's libraries

  9. From a Developer's Perspective Subversion is designed to be extensible A layered system Multiple places you can hook into things I'm giving a 3 hour tutorial about this stuff at OSCON http://conferences.oreillynet.com/cs/os2006/view/e_sess/8400

  10. The Big Picture • Subversion is a layered system • Multiple well defined interfaces • Often with multiple implementations

  11. Current Feature Set Feature parity with CVS Directory versioning Efficient network support Local status/diffs Cheap branching/tagging Language bindings

  12. Current Release Line - 1.3.x Added path based authz for svnserve Improved logging for mod_dav_svn mod_dav_svn speedups Way better python and ruby bindings Client and server performance improvements Bug fixes...

  13. New in 1.4.x svnsync/replay for repository mirroring diff/merge/blame can now ignore whitespace/eol style changes svnserve runs as a service on Win32 BIG performance gains on working copy library Driven by big projects like GCC New svndiff1 delta format, more space efficient thanks to zlib BDB 4.4 support, more reliable New ra_serf DAV client implementation (experimental) svn diff --summarize Bug fixes...

  14. In the Future... Atomic Renames Currently rename == move + delete Loses information Working on real rename operation in the filesystem layer Merge Tracking Avoid repeated merges Efficiently find out what's been merged into what branch Both of these are in progress on development branches

  15. Support Options Open Source Community Mailing lists available from http://subversion.tigris.org/ Support services from CollabNet Training and Support contracts Help with migration from legacy system More about Subversion and services from CollabNet is at: http://www.collab.net/subversion

  16. Want to try it Out? BEA CodeShare site has Subversion built right in Download the client from http://subversion.tigris.org/

  17. http://www.collab.net/subversion

More Related