PermaLink Sourcesafe vs. Perforce vs. Subversion for Windows development05/05/2006 08:01 PM
A client recently switched from SourceSafe (VSS) to Perforce and had problems with Shared Folders and the Visual Studio plugin...it's amazing how dependent Visual Studio users become on these two features. Sourcesafe has a feature called "Shared Files" that compensates for the lack of symbolic links on Windows systems.  It lets you share a directories or specific files between multiple project directories in Sourcesafe.  Unfortunately Perforce doesn't have this feature which is surprising since CVS (via its modules file) and Subversion (via svn:externals) does, although neither CVS nor Subversion have the ability to link files within their repositories nor can they update the originals via the linked directory.

Sourcesafe's Visual Studio plugin lets you work from VS.Net and it automatically checks out files for you as you edit them (although it irritatingly checks out web.config for no reason); it also knows how to magically create web projects when you open a main project that contains web subprojects.  Perforce's SCC API (Visual Studio's source control API) plugin doesn't know how to do the web project magic.  Not only this, but Perforce's plugin loses its source control bindings when you move to a different machine, even when you map the project to similar directories on both machines (a tedious process involving creating a workspace that maps parts of the source repository to your local drive directory structure).  So it seems you can only work bound in VS.Net on one machine (the one on the company network) and if you have to work from home, you have to work using the Perforce IDE; it doesn't bother me since this mirrors how I work, but not being able to use the Perforce properly in VS.Net on multiple machines on the company network strikes me as an odd thing not to have work properly.  It's a shame because Perforce is gobs faster than Sourcesafe over a VPN and it has atomic commits of multiple file edit/delete/moves.


I'll be testing Subversion on this setup for my amusement, but it probably won't have this problem because it uses an "everything is checked out and you always merge with the source tree before check in" paradigm (the same as CVS, but Subversion also has atomic commits) instead of the "check out, edit, then check in" paradigm that Perforce and VSS work as.  Subversion has an SCC API plugin named
AnkhSVN (if you reallllly want to do source control from within VS.Net...think about the paradigm difference to see why this isn't needed) and a Windows Explorer Shell addin called TortoiseSVN.  Simon Tatham (the writer of PuTTY) wrote up a useful article on his experience with Subversion (use authz for svnserve security), but it's from the "migrate from CVS" perspective.
Comments :v

1. Catherine 05/26/2009 08:42:45


You may try SourceAnywhere for VSS. It enables you to remote access VSS fast and secure.

Catherine Sea
{ Link }




2. Lollercoaster09/27/2007 08:30:32


In this case it seems that 'poor performance' means Perforce being 2-5 times faster almost in everything it does than Subversion.




3. Ken Yee05/18/2006 19:27:50
Homepage: http://www.keysolutions.com/blogs/kenyee.nsf


FWIW, I've never had to do the "request permission to edit" thing in Perforce. Maybe it was an unusual Perforce setup you worked with?

When on VPN, I normally work disconnected. I keep track of the files I modified, then connect to the network, check the files out (Perforce won't overwrite them because they're no longer read-only), merge w/ any changes anyone else has done, then check the files in. Not quite as graceful as Subversion, but lots better than SourceSafe which is a slug and forces you to check stuff out before editing. I still prefer CVS/Subversion's paradigm though




4. Dan05/18/2006 14:49:57


Having used Perforce and Subversion, I have to say that Perforce is by far the worst of the two.

The basic paradigm of Perforce is 'check-out, request permission to edit, edit, check-in'. This leads to hundreds of problems when you edit a file without requesting permission first. This is _very_ easy to do.

On top of that are a number of other flaws: poor performance, expensive branching, annoyingly cumbersome interface, etc., etc.

I can't understand why people pay good money for Perforce.




Start Pages
RSS News Feed RSS Comments Feed CoComment Integrated
The BlogRoll
Calendar
March 2024
Su
Mo
Tu
We
Th
Fr
Sa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Search
Contact Me
About Ken
Full-stack developer (consultant) working with .Net, Java, Android, Javascript (jQuery, Meteor.js, AngularJS), Lotus Domino