Alternatives to Visual SourceSafe?

Hello all,

Does anyone have any advice regarding alternatives to VSS?

I have used Rational ClearCase years ago so am well aware of VSS's problem areas, primarily it's lack of parallel development streams.

Powerful though CC was, I found it it a bit "too powerful" (i.e. complicated) for the small team in my current job (the team where I used it was much bigger and globally located). I also found it rather unfriendly...

I would ideally like something with a similar look/feel to VSS, but with a few additional features such as better handling of timezones and internet connections to the database (and parallel stream support).

Regards, Richard.

Reply to
Richard Phillips
Loading thread data ...

And I'm sure you'd like other features, such as "works reliably without regularly running extra checks and backups". VSS is probably unique in the world of source control systems in that its developers always use something else.

There are a fair number of systems around, depending on your requirements, but

formatting link
is one of the most popular choices (combine it with
formatting link
for a windows gui, or use one of the many other guis and client plugins available).

Reply to
David Brown

Lol, you are right, that would be nice too! Personally I've not had a reliability issue with VSS so didn't want to specify that, though I am aware of it's reputation...

Is that a fact regarding VSS's developers?

Ok, thanks, I'll look into that one.

Are there any commercial alternatives? I'm just curious, quite happy to use open source solution :)

Cheers, Richard.

Reply to
Richard Phillips

This topic was recently discussed on

formatting link
where an overwhelming majority of people said that they have dumped their commercial version control software, predominately Merant / Serena Change Manager (also known as PVCS) in favor of Subversion. You may want to search out this thread topic for some first hand accounts of the plusses and minuses of the tool.

Reply to
Noway2

We now use Perforce but that may be too much. Before that we used QVCS which is fine for small projects. It is inexpensive and easy to use.

Peter Nachtwey

Reply to
Peter Nachtwey

Apparently so - the first choice at MS is a variant of Perforce, although they may now use their newer system ("Team System", which is not actually a version control system in the same sense).

formatting link

I have no direct experience of VSS myself, and am only passing on what can be found with a quick google:

formatting link

There are a couple of dozen commercial solutions, and at least a dozen open source solutions, depending on what you want. Some comparisons might give you a few useful ideas:

formatting link

Reply to
David Brown

Anything.

Really.

Postit-notes and a room full of green-bar listings is better than VSS.

In my experience CC pretty much requires a full-time support person and truckloads of money for maintenance contracts to keep it going.

Take a look at SVN and the various front-ends:

  • SVN home page:
    formatting link
  • TortoiseSVN integrates revision control right into the windows file browser (which is pretty cool):
    formatting link
    * SmartSVN is written in Java, so you need a pretty hefty machine to run it:
    formatting link
  • RapidSVN is fairly VSS-like and is written in C++ so it's only mildly bloated. * I think meld is brilliant:
    formatting link

There are probably a dozen other front-ends and plugins (includeding VisualSVN).

Don't forget you can always just point a browser at the SVN server. :)

--
Grant Edwards                   grante             Yow!  HELLO KITTY gang
                                  at               terrorizes town, family
 Click to see the full signature
Reply to
Grant Edwards

One more vote for Subversion.

I have the server running on a Mac mini and clients on both Windows and OS X and it works well. Running the server on a Windows box is as easy as using a service wrapper, or less easy if you install Apache.

VSS is a virus.

-a

Reply to
Andy Peters

...And another vote here. I've set up and administered Subversion for small teams with multi-gigabyte repositories (including a lot of binary files), and fairly demanding use of branching and tagging, and they love it. Server is Apache on Linux, and clients are on Linux, OS X and 'doze.

The KDE project recently switched to Subversion, which is a significant endorsement. Many other large projects have also chosen it.

A short time spent with user anecdotes should inoculate anyone against it. The quote from the svn-vs-vss link above has always stuck in my mind, "Visual SourceSafe? It would be safer to print out all your code, run it through a shredder, and set it on fire."

Reply to
toby

My personal favorite is Perforce. I don't use the GUI, so I can't really comment on that, but it is similar in many ways to ClearCase snap-shot views, but much easier to maintain. In particular, I like the fact that there is no meta-data kept in the "view".

For personal use it is free-as-in-beer.

Sadly, I am required to use Source Offsite at my day-job and find it ... appalling ... so our prefs may differ dramatically.

--
Michael N. Moran           (h) 770 516 7918
5009 Old Field Ct.         (c) 678 521 5460
 Click to see the full signature
Reply to
Michael N. Moran

Thanks to everyone who responded, I'm now going to investigate SVN when I get a little time :)

Cheers, Richard.

Reply to
Richard Phillips

subversion + trac

trac

formatting link

Alex

Reply to
Alex Gibson

CVS is better than nothing, but it has been completely superseded by Subversion. Having used both, there is no advantage to choosing CVS of these two, only some very worrying disadvantages. Subversion presents a CVS-like set of basic operations but goes far beyond them.

Some things that Svn does much better (just a short list of things that matter to me, there are many others):

  • atomic commits of multiple files and directories
  • renames
  • directory versioning
  • binary file handling
  • cheap tagging and branching
  • lock-free distributed development

For a much more comprehensive comparison, see:

  • formatting link
    "The designers of Subversion have created an open-source version control tool that fixes the flaws and addresses shortcomings in the popular Concurrent Versions System (CVS) version control system."
  • Subversion home page,
    formatting link

To choose CVS over Subversion at this point in time could only be put down to inadequate research.

However, there are other excellent open source version control systems, with different feature sets and sweet spots (such as integrated support for distributed development):

  • GNU Arch,
    formatting link
  • Mercurial,
    formatting link
  • Bazaar-NG,
    formatting link
  • and Git, designed for the high demands of Linux kernel development,
    formatting link

formatting link

Subversion has the same attributes. A wide range of front-ends and plugins are available.

almost every dept.

projects/docs/code on it...

automation code my

on the web.

Reply to
toby

Commerial Systems

ClearCase - Requires kernel modules as the "local" checkout is actualy a fake file system view onto the server. - Very complex to administer and uses lots of resources, CC admins are expensive.

PerForce

formatting link
- Traditional client server system. Doesn't seem to do anything that can't be done using free alternatives.

BitKeeper

formatting link
- Decentralised system. - Was uses for the Linux Kernel until a political argument over reverse engineering the wire protocol caused grief.

Open Source: (Don't forget that for at least some of these systems it is possible to buy commerical support)

Subversion:

formatting link
- Design to be a "Better CVS" generally achieves the aim but has some odd deisgn decisions and quirks. - Commerial support available from
formatting link

SVK:

formatting link
- Decentralised system based on Subversion

CVS:

formatting link
- The granddaddy of concurrent version control systems, has some fundamental issues but is extremely mature. - Commerial support available from
formatting link

There are various other systems like darcs, Codeville, monotone, git etc. but they are either at early stages of development or are only suitable for UNIX systems.

-p

--
Gotch, n. A corpulent beer-jug of some strong ware.
Gotch, v. To surprise with a remark that negates or usurps a remark
 Click to see the full signature
Reply to
Paul Gotch

I can't agree with this. I've yet to find a "free" alternative that does not keep meta-data in the source view. E.g. .CVS and .svn directories and the files they contain.

Also, the ClearCase - like "view specs" are nice for mixing and matching independent shared source code repositories for different projects.

Most revision control systems seem to be geared toward individual projects rather than sharing source code among many projects.

If only perforce were GPL, then it would be ... perfect ;-)

--
Michael N. Moran           (h) 770 516 7918
5009 Old Field Ct.         (c) 678 521 5460
 Click to see the full signature
Reply to
Michael N. Moran

Apparently svk (built on Subversion) doesn't.

Reply to
toby

Yes, this can be very handy. I haven't seen any open source tools that can do this.

The big thing I don't like about CVS is the automatic source merging, which gives no option to the user to do a manual merge or to inspect the result before committing. I have had to fix up these merges in the past after inspecting them. I remember seeing some documentation saying that automatic merges will not be a problem if the team members all communicate (which rules out the majority of teams out there).

I presume Subversion has a similar "feature".

The view specs are probably the biggest reason for ClearCase's popularity. If it didn't have that, I don't think many people would put up with the other drawbacks.

There are some perforce drawbacks that annoy me at times. I use the Windows GUI modes normally, but trying to use the command line from Linux is very annoying (it's easy to sync the entire repository and all branches, but I have to specify a full path name to sync just the current directory).

-- Darin Johnson

Reply to
Darin Johnson

Again, see svk,

formatting link
,
formatting link
, etc

The fact that it does not carry metadata in the working copy makes it more suitable for managing configuration, etc. It also has more support for 'disconnected' working patterns than basic Subversion (which even by itself facilitates disconnected/distributed work in ways that CVS does not).

I believe that function can be provided by a Subversion client -- e.g. Eclipse's Synchronise view (although I don't use it).

Subversion makes this easy.

Reply to
toby

Ive always been happy with PVCS.

Was Intersolv then Merant and now Serena

formatting link
They also have a wicked issue management tool.

Andrew

Reply to
Andrew Blackburn

I suffered VSS for many years. I would *never* allow it back into any shop I had influence over.

It was unreliable - all of our databases were reported "corrupt", the client would often refuse to complete operations, and the server got clagged up with millions of tiny files.

It was crude - unscriptable (at least in V5, because you couldn't easily specify which database to connect to from the command line)

It was inefficient - sharing and branching became slower and slower as the database grew.

It was unscaleable - without extra add-ons it doesn't scale offsite.

And most of all it was 'fascist' - it imposed a strict exclusive-checkout model rather than the merge-and-checkin model of more scaleable systems.

Most of our development team migrated to CVS and later to Subversion, which suited the way we worked a lot better -- and it was almost trivial to move procedures and even data between CVS and SVN. VSS -- well, it's a relic, used on legacy projects, with horrid clunky procedures that nobody can easily modify.

I'm not saying OSS=automatically good, MS=automatically bad; VSS is probably OK if you have a small number of simple Windows projects, but it just doesn't work for large numbers of inter-related projects that have to exist across lots of versions and are constantly evolving. For that, you need a source code control system that's dynamic, approachable, flexible and utterly reliable - CVS and Subversion both suit me fine.

My current workplace is a CVS shop, it's done some incredibly good work building its own utilities on top of CVS to make handling large multi-component projects and complex branching structures tractable. I don't like CVS as much as Subversion (which I think is supremely elegant inside) but with the right tools on top of it, CVS can be very powerful indeed.

(Personally, I use Subversion at home for versioning most of the config and key software components of my *ix boxes).

pete

--
pete@fenelon.com "That is enigmatic. That is textbook enigmatic..." - Dr Who
                 "There's no room for enigmas in built-up areas." - N Blackwell
Reply to
Pete Fenelon

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.