16

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?

Community
  • 1
  • 1
WebDude
  • 5,985
  • 5
  • 31
  • 42
  • If they still use that horrible Java based client, chuck it, and go to (tortoise)SVN and never look back. My gawd, what a torture that was. Personally I would chose a VCS on relevance for daily operation, and not on advocates bullet list comparison. Or: do a small project with both, and choose then. – Marco van de Voort Apr 29 '12 at 10:10

13 Answers13

15

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.

Matt Lacey
  • 64,328
  • 10
  • 87
  • 143
  • 1
    'read-only' checked-in files is an option: You can choose to work ala VSS (read-only files. check-out first) or ala SVN. – Serge Wautier Oct 23 '09 at 09:28
  • @Serge Yes this was a result of the configuration used by the company I was working with at the time. – Matt Lacey Oct 23 '09 at 10:35
  • 8
    Your chosen configuration settings are no basis for comparing products. It's like saying you perfer apples to oranges because your local supermarket puts them on a lower shelf! – Kramii Mar 12 '10 at 10:38
  • 2
    "Can't easily see anything that has changed"? Search By: Any Status. – Matt Jul 28 '10 at 20:56
  • Ok, 'Cant AS easily see anything that has changed". Having to go and do a search is not as easy as seeing the different icon overlay in Windows Explorer. IMHO – Matt Lacey Jul 29 '10 at 09:44
  • 1
    Some of these just seem false. Can't get latest? Did you try Get Latest? Easily see changes? Pending change set. The next two are configurable, just change them. The client loads fine for me, but honestly I use it mostly within VS. People at work who shun VisualSVN in favor of Explorer are the ones breaking the build most (oops, forgot to add to SVN / or add in the project file). Yes, its missing a spell checker, but I think the Merge wizard more than makes up for that. I use Vault for my consulting and SVN at my day job, so I'm very familar with both. – Andy Jan 29 '12 at 18:27
12

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.

AwesomeTown
  • 2,668
  • 2
  • 21
  • 36
10

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.

rjrapson
  • 1,937
  • 1
  • 21
  • 26
  • 2
    Vault provides two plugin's one (Enhanced Client (VSIP)) supports Edit|Merge|Commit the older one Classic Client (MSSCII) only supports check in and out mode. – John Mar 19 '09 at 16:48
  • @John that's likely a limitation imposed by MSSCII. I wouldn't use MSSCII anymore unless forced to (that is, the IDE doesn't support VSIP). – Andy Jan 29 '12 at 18:30
8

Subversion also has VisualStudio plugins:

Lars Truijens
  • 40,852
  • 6
  • 117
  • 137
  • 2
    Which gives Subversion support both in the IDE and within the explorer window. This is something that is very useful that Vault does not have. – Brett Aug 19 '10 at 17:56
5

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.

Phil Hannent
  • 11,015
  • 16
  • 65
  • 117
  • Thanks that's a great reference doc. But you can't help but suspect bias. I forgot to mention i'm a Microsoft .NET visual studio developer. Does this change your suggestion? i.e. Does Monotone, Git or Bazaar play nicely with .net projects and Visual Studio? – WebDude Oct 08 '08 at 12:45
  • I have used Monotone with a couple of .net web projects. It works great with them. – Phil Hannent Dec 03 '08 at 10:45
4

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.

Bert Huijben
  • 19,125
  • 4
  • 54
  • 71
3

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

Dave Van den Eynde
  • 16,092
  • 7
  • 56
  • 86
3

One feature that Vault has built in that Subversion does not have built in, is Vault can be configured to retain the files modified timestamp. This is a feature I can really benefit from. As a workaround, Subversion does allow configuration to have it set the modified timestamp to the commit time, which is good enough for most of my scenarios. To benefit from this, I have to commit, then delete my working copy, and then do an update, to force the timestamps to be the commit timestamps, so that I can deploy the files and have their timestamps match subversion's timestamps. There are suggestions to use scripts or whatnot to store the modified timestamps in properties, but I don't know if anyone has done this successfully, and if so, I don't know how solid this workaround would be.

Mafu Josh
  • 2,210
  • 1
  • 21
  • 24
2

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

Surely where Subversion has 3rd party support, Vault has 1st party support since you have purchased it.In my experience, first hand information (from the makers) tends to be better than 14 forums spread over the world? Though we now have SO so this point may be mute. :)

FryHard
  • 9,690
  • 7
  • 32
  • 37
  • 1
    The Vault support folks are pretty quick off the mark as well. Paying my $250 annual maintenance is well worth it for those trouser changing 'shouldn't have done that' moments. – Kev Jan 13 '09 at 18:21
  • 2
    CollabNet (who payed for creating Subversion) actively supports the project commercially. (Including the AnkhSVN and TortoiseSVN clients). You can buy several levels of support (including 24/7). – Bert Huijben Feb 06 '09 at 12:23
  • @Kev, I wholeheartedly agree. – JV. Oct 01 '09 at 17:47
  • 2
    I'm pretty sure you misunderstood the point. I think he meant support of Subversion in third party tools is much more common than for Vault. – Brett Aug 19 '10 at 17:53
2

There are many tools (bug tracker, continuous integration) that integrate with subversion. In case of vault not many tools have support for it.

Giorgi
  • 28,971
  • 12
  • 82
  • 118
1

SVN has true branching http://svnbook.red-bean.com/en/1.1/ch04.html, branching is just handled differently than most source code control systems.

ARKBAN
  • 3,241
  • 4
  • 21
  • 22
0

Forums are difficult to trawl but give many clues to get the best out of all the trials and errors that people have been through.

Makers comments can be biased and unsure whether they just try to offer their workaround only.

0

Vault does a great job of implementing seamlessly with Visual Studio.

For everything else, it's terrible.

The "WebDAV" support is painfully slow- so slow that I found it quicker to checkout with the Vault Client and then switch back to Dreamweaver rather than try to checkout within Dreamweaver over WebDAV.

Luke The Obscure
  • 1,504
  • 2
  • 20
  • 35