14
BEA Confidential. | 1 Subversion Version Control for a Modern World

Subversion Version Control for a Modern World Jeremy Whitlock June 2006

  • Upload
    felice

  • View
    56

  • Download
    0

Embed Size (px)

DESCRIPTION

Subversion Version Control for a Modern World Jeremy Whitlock June 2006. AGENDA. What is Subversion? Why should you use it? Current feature set New features in 1.4.x What's on the horizon. What is Subversion?. Historically, the de-facto standard in open source version control is CVS - PowerPoint PPT Presentation

Citation preview

Page 1: Subversion  Version Control for a Modern World  Jeremy Whitlock June 2006

BEA Confidential. | 1

Subversion

Version Control for a Modern World

Jeremy Whitlock

June 2006

Page 2: Subversion  Version Control for a Modern World  Jeremy Whitlock June 2006

BEA Confidential. | 2

AGENDA

What is Subversion?Why should you use it?Current feature setNew features in 1.4.xWhat's on the horizon

Page 3: Subversion  Version Control for a Modern World  Jeremy Whitlock June 2006

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 takes the good parts of CVS, and fixes the rest

Page 4: Subversion  Version Control for a Modern World  Jeremy Whitlock June 2006

BEA Confidential. | 4

Subversion versus CVS

Keeps the general workflow, and most of the commandsTotally 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

Versions directories and metadata, not just filesWorking copy lets you do many things offline

svn status

svn diff

Page 5: Subversion  Version Control for a Modern World  Jeremy Whitlock June 2006

BEA Confidential. | 5

Subversion Compared to Other Systems

Better high end scalability than PerforceWorks well over a network, unlike ClearCase

Page 6: Subversion  Version Control for a Modern World  Jeremy Whitlock June 2006

BEA Confidential. | 6

Subversion for Java Development

Many features are particularly useful for Java developersFiles and directories can be renamed without losing historyYou can actually delete a directory, unlike CVSIntegrated into numerous IDEs

Eclipse

Netbeans

IDEA

Oracle JDeveloper

Java bindings let you write code that uses Subversion's libraries

Page 7: Subversion  Version Control for a Modern World  Jeremy Whitlock June 2006

BEA Confidential. | 7

From a Developer's Perspective

Subversion is designed to be extensibleA layered systemMultiple places you can hook into things

I'm giving a 3 hour tutorial about this stuff at OSCON

Page 8: Subversion  Version Control for a Modern World  Jeremy Whitlock June 2006

BEA Confidential. | 8

Page 9: Subversion  Version Control for a Modern World  Jeremy Whitlock June 2006

BEA Confidential. | 9

Current Feature Set

Feature parity with CVSDirectory versioningEfficient network supportLocal status/diffsCheap branching/taggingLanguage bindings

Page 10: Subversion  Version Control for a Modern World  Jeremy Whitlock June 2006

BEA Confidential. | 10

New in 1.4.x

svnsync/replay for repository mirroringdiff/merge/blame can now ignore whitespace/eol style changessvnserve runs as a service on Win32BIG performance gains on working copy library

Driven by big projects like GCC

New svndiff1 delta format, more space efficient thanks to zlibBDB 4.4 support, more reliableNew ra_serf DAV client implementation (experimental)svn diff --summarizeBug fixes...

Page 11: Subversion  Version Control for a Modern World  Jeremy Whitlock June 2006

BEA Confidential. | 11

Current Release Line - 1.3.x

Added path based authz for svnserveImproved logging for mod_dav_svnmod_dav_svn speedupsWay better python and ruby bindingsClient and server performance improvementsBug fixes...

Page 12: Subversion  Version Control for a Modern World  Jeremy Whitlock June 2006

BEA Confidential. | 12

In the Future...

Atomic RenamesCurrently rename == move + delete

Loses information

Working on real rename operation in the filesystem layer

Merge TrackingAvoid repeated merges

Efficiently find out what's been merged into what branch

Both of these are in progress on development branches

Page 13: Subversion  Version Control for a Modern World  Jeremy Whitlock June 2006

BEA Confidential. | 13

Public mod_dav_svn Instances on the Internet

Page 14: Subversion  Version Control for a Modern World  Jeremy Whitlock June 2006

BEA Confidential. | 14

Want to try it Out?

BEA CodeShare site has Subversion built right inDownload the client from http://subversion.tigris.org/