Subversion Webinar BEA.ppt - People

aniseedsplashSoftware and s/w Development

Aug 15, 2012 (4 years and 11 months ago)

336 views

BEA Confidential. |

1


Version Control for a Modern World



Garrett Rooney, Senior Software Engineer (and Subversion committer),
CollabNet Inc.

June

2006

BEA Confidential. |

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

BEA Confidential. |

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


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)





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

BEA Confidential. |

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

BEA Confidential. |

7

Subversion Compared to Other Systems

Better high end scalability than Perforce

Works well over a network, unlike ClearCase

BEA Confidential. |

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

BEA Confidential. |

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

BEA Confidential. |

10

The Big Picture

Subversion is a layered
system

Multiple well defined
interfaces

Often with multiple
implementations

BEA Confidential. |

11

Current Feature Set

Feature parity with CVS

Directory versioning

Efficient network support

Local status/diffs

Cheap branching/tagging

Language bindings

BEA Confidential. |

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...

BEA Confidential. |

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...

BEA Confidential. |

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

BEA Confidential. |

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

BEA Confidential. |

16

Want to try it Out?

BEA CodeShare site has Subversion built right in

Download the client from http://subversion.tigris.org/

BEA Confidential. |

17


http://www.collab.net/subversion