Home 
 Products 
 Customers 
 Comparisons 
      - CVS 
      - Subversion 
      - Perforce 
      - ClearCase 
      - Sun Teamware 
 Sales 
 Test Drive 
 Company 
 Jobs 
 Support 
 Documentation 
 Search 
 Site Map 
    

Subversion

"I took a look at Subversion, and it doesn't even come close to what I wanted." -- Linus Torvalds

Subversion was the new system that was supposed to replace CVS. Unfortunately, Subversion shares many of CVS' problems and introduced some of its own problems:

  • Subversion uses a binary file format for your revision control data and metadata and if that format gets corrupted you are out of luck, your whole team comes to a halt.

  • Subversion has a single repository model, i.e., client/server. Each work area is clear text only which means no revision control in the work area during development.

  • No staging areas to protect the main source tree. With Subversion, everyone checks into the same place and if someone breaks the tree, it's broken for everyone. With BitKeeper, you can put a staging area between each group of developers and the main integration tree, thereby protecting the main tree from bad checkins. Anyone who has lived through a change that broke the build can see the value of staging areas.

  • Subversion loses information every time there is parallel development because you are forced to merge before you check in if someone else checked in first. The state of your workspace before the merge is lost forever. Another way to say this is that if there is N-way parallel development, Subversion loses N-1 events.

  • Merging in Subversion is no better than CVS, i.e., primitive at best.

  • Branch management in Subversion is a nightmare.

  • Subversion has no integrity checker which means files can be silently corrupted and you will never know until you try and roll backwards.

  • Subversion has only weak rename support, that's something that is inherent in all centralized systems.

BitKeeper/Subversion Feature Comparison Matrix


Feature

BK/Pro Subversion Benefit

Atomic ChangeSets

Yes No
  • Every change is a reproducible snap shot

  • Aids in debugging and release management

Graphical checkin tool

Yes No, done through IDE
  • Graphical tool for file and changeset

    checkins which promotes more useful

    comments to speed up development processes

    and debugging

Dynamic branching

Yes No
  • Any workspace can be turned into a branch

  • Advanced planning for branching is not needed

Pro Merge Technology

Yes No
  • Most accurate automerge available

  • Only merge each change once

Accurate handling of renames

Always No
  • Increased productivity through a well

    organized source base

Peer-to-peer architecture

Yes No
  • Supports any workflow for enhanced quality

    control

  • Supports the rapid open source style of

    development

Complete local history

Yes No
  • Your developers can keep working even

    when your server or network doesn't

  • Inherent reliability through replication

True parallel development

Yes No
  • Enhanced productivity

  • Faster time to market

Multi-site development

True No
  • BitKeeper provides 100% functionality and

    productivity at all distributed sites

Mobile/Off-network functionality

Yes No
  • Increased development productivity by allowing

    your developers to work while travelling, while

    at remote locations, while at customer sites, or

    without a network

Pre-event triggers

Yes Yes
  • Ability to qualify events prior to changes

    which enhances compliance to your development

    policies

Post-event triggers

Yes Yes
  • Supports notification of events and automated

    secondary operations which provides easier

    process management

Replicated repositories

Yes No
  • Provides enhanced reliability along with the ability

    to perform transparent, automatic backups

Automatic integrity checks

Yes No
  • Detects corruptions indicating potential hardware

    and software problems saving time and money

    associated with unplanned downtime

Accurate recording of all history

Yes No
  • Accountability: Easy to find Who did What When

  • Provides a complete picture of your parallel development

  • Speeds of debugging process

Minimal Administration

Yes No
  • Head count can be used for development rather than

    taking care of the SCM system

Minimal hardware requirements

Yes No
  • No need to purchase additional hardware

  • No requirement for large, expensive server