Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Subversion versus Vault [duplicate]

Possible Duplicate:
Any tool to migrate repo from Vault to Subversion?

I'm currently reviewing the benefits of moving from SVN to a SourceGear Vault. Has anyone got advice or a link to a detailed comparison between the two? Bear in mind I would have to move my current Source Control system across which works strongly in SVN's favor

Here is some info I have found out thus far from my own investigations.

I have been taking some time tests between the two and vault seems to perform most operations much faster. Time tests used the same server as the repository, the same workstation client, and the same project.

Time Comparisons

  • SVN
Add/Commit    12:30 Get Latest Revision    5:35 Tagging/Labelling    0:01 Branching    N/A - I don't think true branching exists in SVN
  • Vault
Add/Commit    4:45 Get Latest Revision    0:51 Tagging/Labelling    0:30 Branching    3:23

(can't get this to format correctly)

I also found an online source comparing some other points. This is the kind of information i'm looking for.

Usage Comparisons

  • Subversion is edit/merge/commit only. Vault allows you to do either edit/merge/commit or checkout/edit/checkin.

  • Vault looks and acts just like VSS, which makes the learning curve effectively zero for VSS users.

  • Vault has a VS plugin, but it only works if you're going to run in checkout-mode.

  • Subversion has clients for pretty much every OS you can imagine; Vault has a GUI client for Windows and a command line client for Mono.

  • Both will support remote work, since both use HTTP as their transport (Subversion uses extended DAV, Vault uses SOAP).

  • Subversion installation, especially w/ Apache, is more complex.

  • Subversion has a lot of third party support. Vault has just a few things.

My question

Has anyone got advice or a link to a detailed comparison between the two?

like image 778
WebDude Avatar asked Oct 08 '08 11:10

WebDude


7 Answers

Having used both 'in anger' I'd choose Subversion (with TortoiseSVN) over Vault every day.

When I went from Subversion to Vault this is what I noticed:

  • Can't do a get latest of everything I haven't changed, out of the box, in one easy step
  • Can't easily see anything that has changed
  • Vault tries, by default, to make everything I haven't checked out read only
  • I have to check things out
  • It's really slow to load (vault client) as opposed to always being there in explorer
  • Client navigation more awkward - than using Explorer
  • Easier to compare to older versions
  • Spell checker when entering comments when checking in
  • Everything was quicker and easier!

Obviously some of this is down to the way that Vault was configured, but you get the idea.

I ended up writing a bunch of scripts to automate the things that Vault couldn't do, but even then there are limitation on what the commandline version can do. Plus the Vault API isn't documented.

Update
Please note the date this was oiginally posted. Both poducts have changed and been enhanced geatly since I oiginally wrote this.

like image 52
Matt Lacey Avatar answered Nov 17 '22 00:11

Matt Lacey


I spent several years using (and administering) Subversion at a previous job, and the last three years using Vault at my current job. At this point I'm desperate to get away from Vault and back to Subversion (or potentially a tool like git or Mercurial).

We've had a lot of issues with performance and reliability (Vault doesn't always pick up files that have been modified, and on occasion will insist that you haven't modified a file when you have) but this may come down to the (long) history of our repository and how we handled branching in the past. I'd argue that if it were better designed then none of that should have mattered, but if you're not doing wacky things with it then maybe you won't have the problems we've had.

That said, there are some fundamental design decisions that I can't forgive:

  • the working folder model (similar to VSS) is overly restrictive; if I want to check out the same code to more than one place locally, I should be able to
  • the merge tool blows
    • I don't need to be walked through a seven-step wizard every time I need to merge changes
    • can't cherry-pick multiple revisions to merge
    • added/deleted files aren't merged into your working folder until you commit changes meaning you can't verify that everything is okay before checking-in
  • no equivalent to "svn switch"; switching a checked out folder to point to a new place in the repository makes Vault freak out

Ultimately, Vault's a much less flexible tool than Subversion is, though that lack of flexibility does mean it can be simpler to use. If you have a team of developers who are accustomed to VSS and you're not going to demand much of your source control tool, Vault's probably a fine choice. Having gotten accustomed to Subversion's flexibility, though, I find using Vault an exercise in frustration.

like image 40
AwesomeTown Avatar answered Nov 17 '22 00:11

AwesomeTown


I use Vault, so I'd like to correct one error in your feature list:

Vault has a VS plugin, but it only works if you're going to run in checkout-mode.

Not true - I'm unsure of which version it was added in, but you can run vault in Edit|Merge|Commit mode in Visual Studio

I would also add that Vault uses MS SQL Server as it's repository - makes backups easy.

like image 33
rjrapson Avatar answered Nov 16 '22 23:11

rjrapson


Subversion also has VisualStudio plugins:

  • http://www.visualsvn.com/
  • http://ankhsvn.open.collab.net/
like image 20
Lars Truijens Avatar answered Nov 16 '22 22:11

Lars Truijens


The Source gear website has a comparison. However I would suggest neither. If your moving to a new repository you want to be looking at a distributed version control system.

The likes of Monotone, Git and Bazaar have really raised the bar in terms of productivity.

like image 34
Phil Hannent Avatar answered Nov 17 '22 00:11

Phil Hannent


Subversion allows you to mark files as 'must-lock', in that case checkout (lock), checkin (commit with auto unlock) works. AnkhSVN visualizes this just like the VSS Check in check out.

Subversion has:

  • TortoiseSVN for Windows Explorer
  • AnkhSVN, A free real SCC Provider for Visual Studio. (not complete yet, but getting better every day)
  • VisualSVN, TortoiseSVN like integration for Visual Studio (Commercial)
  • SvnBook, a great online & free manual

Subversion will get a more efficient HTTP protocol in 1.6 or 1.7 (Work in progress). This might make it possible to create an IIS plugin.

See the subversion book on branching and merging in Subversion.

like image 4
Bert Huijben Avatar answered Nov 16 '22 23:11

Bert Huijben


Subversion has locks as well. I've never needed them, though.

like image 3
Dave Van den Eynde Avatar answered Nov 16 '22 23:11

Dave Van den Eynde