Fog Creek Software
Discussion Board




Simple Windows Version Control

Do people have a favorate simple version control system for windows?

I really liked MacCVS
  http://www.maccvs.org/

but now I'm developing on windows, and WinCVS http://www.wincvs.org/  is ugly as sin and complex to boot.

Plus I want to run the CVS server on a windows box and compiling and configuring CVS seems a bit daunting.

I've head about Microsoft's Visual Source Safe
http://msdn.microsoft.com/ssafe/

but just about everything I've heard has been bad.

What do people prefer to use?

Micah

Micah Alpern
Tuesday, February 12, 2002

For an similar conversation a while ago see: http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=1175&ixReplies=10

B
Wednesday, February 13, 2002

I use WinCVS personally as well.  Before, I'd just use normal commandline tools, but on this project everyone is using clunky Windows.

Remember to install TCL on your system, and let WinCVS know this.  There is an option you get when you right-click on the file tree, called "Fast search modified," which reports what files you modified.  It only works with TCL installed, and it's crucial.

michael vandelay
Wednesday, February 13, 2002

I know both, WinCVS and MS Source Safe and do not find many differences in the daily use. I only know the client side though and never had to bother with setting up the server.

IMO the integration in Visual Studio is a little better with Sorce Safe of course (there is a CVS plug-in around somewhere, but I did not find that really helpful).

On the other hand, the file management of CVS seemed a bit more intuitive to me than Source Safe's project based approach which gets me confused whenever I add something that is not standard (when the project file is in another folder than the rest of the project for example).

I guess when you consder WinCVS to be "ugly" you refer to the layout of the UI. Maybe this is just a MacUser/WinUser problem? I did not find anything unusual about WinCVS's layout, except that the "directory up" toolbar button (which I use a lot) was in the completely "wrong" place compared to the Windows Explorer. I do not know the newest WinCVS Version though, maybe they changed that. Apart from that, there are only minor differences to the SourceSafe layout, I fear.
Source Safe's toolbar buttons are a catastrophe, though, I never know, which icon is responsible for what action, they all look the same to me.

Have fun,

Jutta Jordans
Wednesday, February 13, 2002

You may want to try the latest WinCVS beta, 1.3b+ which is very nice, supports Python macros and has better ssh integration, http://sourceforge.net/project/showfiles.php?group_id=10072&release_id=57921

Server side, there's a port of CVS pserver to Windows, CVSnt http://www.cvsnt.org/

ludoo
Wednesday, February 13, 2002

I'm using Visual SourceSafe for my own needs for more then two years now and it's great. People talk about it's limitations in bigger projects - may be .. I love it.

Evgeny Goldin
Wednesday, February 13, 2002

a $200 Pentim II class machine running Linux or FreeBSD as server and Cygwin all around for command-line CVS. Throw LXR or CVSweb on the server and you've got all the GUI you'll ever need.

Personaly, I'm not sold on WinCVS either, but it's ability to use Araxis as it diff engine is nice, it's a good package, but it's not Open Source, so that's a strike.

Frankly, I just stick with the CLI tools, they don't slow me down any, and if you're decent at all with CVS it's not really a hassle. If you're not, grab a copy of O'Reilly's CVS pocket reference.

Alex Russell
Wednesday, February 13, 2002

Check out code co-op at http://www.relisoft.com for something fresh and different.

The GUI is nice and neat, and it uses email to synchronise rather than a central server.  This makes it real easy to get started with.

Ged Byrne
Wednesday, February 13, 2002

One Word:

XCOPY

...

ok, ok, just kidding!

I like CVS, but nothing is better for VC++ development than SourceSafe. For everything else, CVS is pretty decent.

Now, if only someone was masochistic enough to subclass the "FileView" Window in MSDEV to create an integration layer with CVS....

:-)

James Wann
Wednesday, February 13, 2002

Check out Perforce ( http://www.perforce.com/ ).  Its pretty nice and significantly cheaper than Visual Source Safe.

JohnW
Wednesday, February 13, 2002

If you want to use CVS on Windows, look at CVSNT http://www.cvsnt.org - I loved the command line version of CVS and ignored the WinCVS version, but you're right about the lack of a good GUI.

I wholeheartedly second the recommendation of Perforce.  I tried Sourcesafe, running CVS on a Windows box, but nothing compared to Perforce - http://www.perforce.com

They have a 2-user trial version available for download on their web site, so you can test it out free of charge.  If you run an open source project, there are even provisions for you to obtain free licenses.  Purchased cost is $600 per seat with quantity discounts. 

Dan Dunham
Wednesday, February 13, 2002

While you guys are talking about it - I'm looking for a version control solution that will automatically note new files which are placed into directories under version control, at the latest when I scan for them.

Free if possible.

GUI is great.

Thanks!

Ryan
Wednesday, February 13, 2002

I third the recommendation for Perforce. It's industrial strength.

I believe someone has written a wrapper for Perforce so you can keep using your beloved CVS command line.

tangram
Wednesday, February 13, 2002

If you don't plan to spend much money on version control, go for CVS if wincvs seems clunky you might like to try: http://www.wincvs.org/TortoiseCVS/index.shtml  TortoiseCVS which integrates directly into your Explorer. It's weird, but when you get used to it, it's a beauty.

Now if you are planning to use this kind of software to write a chunky program, using lots of branches, etc. CVS has a lot of quirks for complicated projects. Consider spending some money in Perforce ( www.perforce.com ) or bitkeeper.com. They are both very solid tools.

Beka Pantone
Wednesday, February 13, 2002

CMS on VMS has always been good for me...why not change your OS? (and programme in ADA or PASCAL)

who cares
Thursday, February 14, 2002

http://www.thensle.de/index.htm

--------------------------------------------------------
FreeVCS is -as the name implies- a freeware source version control and project management system, realized in a scalable, TCP/IP based Client/Server architecture.

Based on Francois Piette's Midware application framework, FreeVCS can be used in local, LAN, WAN, Internet or mixed environments.
You can choose between two clients (a fully integrated Delphi 4.03/5.x/6.x IDE expert or a language independent Stand-alone version) and six application servers/ NT service applications (supported databases: DBISAM 2.x, Interbase 5.x, Interbase 6, Oracle 7.x/8.x, MSSQL 7/2000 & Informix).
--------------------------------------------------------

I tried it, simple but works, and it's free.

Szasz Attila
Friday, February 15, 2002

I also use FreeVCS for my versioning control.  I find it very good for my uses.  I do not work on huge project mind you.

I use it for all types of files.  I think that you can even build custom clients.  Right now I am looking at build an Add-in for Access 2000 to integrate directly with FreeVCS.

Best of all -- it's free and it works!

Hugh,

Hugh Cowan
Monday, February 18, 2002

ClearCase on Unix rocks big time.  Especially for large teams and enterprise production rollouts.

I've used SourceSafe for the last year and well...... it needs a few more features to be truly useful (e.g. removing labels, being able to extract every file with a specific label, etc.).

<wimper> :-(  I miss ClearCase (at least the 20% of the features I used)

Joel A.
Wednesday, February 20, 2002

What is the use of removing a label? I don't get it. I think that it's a feature that would complicate the design of the SCM tool, to add a feature that I rarely use (personally).

Would you please care to put an example of when it might be handy to remove a label? Perhaps it's just that I never encountered such a problem.

Beka Pantone
Friday, February 22, 2002

Anybody using StarTeam by StarBase?  We have a team of about 18 writing code and maybe another 10 reporting bugs.  We a trying to decide on a tool now (I love the simplicity of FogBugz).

Two of the biggest issues are 1 - remote access (how well does vss work through a vpn?) and 2 - integrating bug tracking with source control.  How useful is it to have the bug tracking and source contol in one system linked together?

Many of us use VSS now, but we're looking at StarTeam and ClearCase right now.  All the tabs and features seem overwhelming.  Can these be customized to be as easy as VSS, or am I looking at a full time administrator to keep these things going.  After looking at the threads, I guess I will check out Perforce too.

Bill Spens
Monday, February 25, 2002

In response to "Anybody using StarTeam by StarBase? We have a team of about 18 writing code and maybe another 10 reporting bugs. We a trying to decide on a tool now (I love the simplicity of FogBugz)."

Response:

I am the Manager of Quality Assurance at the company for which I work.

To your specific points first, then some expansion of some recent experiences:

1. We are at the "finish line" of a transition from VSS to StarTeam for version control. Overall, StarTeam represents a much richer version control capability, but it's much, much more expensive. In fact, comparing the two tools is really unfair. An associate in the office compared these two tools as being like a lawnmower and a tractor - both will cut the grass, but you can hook up a plow, a tiller, and a host of other things to the tractor. The lawnmower just cuts grass. You get a lawnmower for a few hundred USD, you spend several thousand, or several tens of thousands for a tractor (for a commercial grade farm type tractor). They're different critters. I'm not very familiar with ClearCase, but from previous experiences with Rational's tools, my impression is that it's likely to be more like the commercial farm tractor than the lawnmower for version control.

2. Integrating bug tracking with source control is very handy. One recent example of this arose wherein we very easily - almost trivially - related CRs addressed in a given build to that build label, and automatically documented the relationship in a report. During a recent project, we emailed these reports (they can be generated as html) to the client, and as the QA Manager, I used them in the regression effort for each build. As I said, this is *very* handy. Certainly not a new idea, and we've done this in earlier projects, but in the past it's been with a combination of VSS and QuickPlace (Lotus), manually collecting the defect id's and listing only the defect id numbers in the build notes (you had to go then and look up the contents of the defects listed yourself). With ST, this is *way* easier. Cool, but is this meaningful? I distinguish quality assurance from quality control, which I find most people do not (they're wrong - the two fields are related but very different, with QA being the over-arching endeavor of the two). With that said, I am a QA Manager (yes, I do a lot of testing also), so in general I'm going to be professionally pre-disposed to anything that enhances the audit trail from testable, implementable requirements, to the specific builds of code in which they are implemented, to the test results documenting whether the requirements have indeed been fulfilled or not. Relating builds to defects is certainly part of this. One can certainly get excessively anal about tracking every little thing in a project, and since I am also an engineer (yeah, a real engineering degree and all), I understand the idea of "good enough" and the costly dangers of a pointless pursuit of perfection. In my judgement, establishing the traceability I described between defects and builds is worthwhile and adds value to the effort, especially when it can be done as cheaply and easily as StarTeam makes it. Again, I can't say anything about ClearCase in this area, other than from my previous experiences with the Rational Enterprise Suite; Rational works hard to integrate all their tools (the degree of their success or failure in this is a separate topic), so I'd be very surprised if they didn't also have a pretty easy integration between defects and builds.


Now, for the additional comments:

As I said, we've about finished migrating to ST from VSS, but for much more than just version control.

StarTeam is a collaborative team development tool, providing version control more feature-rich than that of VSS, Change Request Management, very customizable access control, task tracking, discussion topics, integration with  (according to the ST version 4.2 documentation):

-Developer Studio Integration
-VB and Developer Studio Integration
-Symantec Visual Cafe Integration
-Oracle Developer-2000 Integration
-Borland Delphi 3.0 Integration
-Borland Delphi 4.0 Integration
-Borland Delphi 5.0 Integration
-Sybase PowerBuilder Integration
-MS Project Integration
-Visual InterDev Integration

We haven't used any of these integrations, so I can't tell you anything about them. Could be typical vendor marketing hype (i.e. "B.S."), I don't know. We might try out the MS Project integration at some point -- we're kicking that around now.


Our migration has been somewhat painful, but most of the pain has taken a form similar to:

user:  "geeze - I used to be able to do this in VSS, how the HELL do I do it in this #$**!*&^%&% StarTeam P.O.S.!!??"

reply: "if you'll select the file, right click, and select the so-and-so option from the resulting dropdown, you'll find the same functionality you had in VSS."

user:  <silence>

user:  "....oh. thanks. sorry."

Users were calling it "StarTrash" for a while, etc.
Pretty typical "not what I'm used to" learning-curve stuff; not real substantive problems.


We moved away from VSS, not because it failed to meet our needs as a version control tool (hey, some of you might not like it, but it was ok for us), but because we desperately needed some way of tracking defects (to which you now respond 'you didn't track defects?? -- are you nuts??' don't ask - it's a grim story, and it's been one of my primary rants anywhere I go. Fortunately, the problem's solved now with StarTeam).

For various uninteresting reasons, we own sufficient licenses of both VSS and StarTeam so purchasing wasn't a decision factor for us. Most of our people had some experience with VSS, a few of us had some experience with StarTeam. However, most of our developers and Project Managers with VSS experience, in general, only used the most basic check-in, check-out capabilities, perhaps 30-40% of VSS's capabilities. So, there wasn't really much lost in moving to StarTeam. I am confident in making this assessment, because I found upon my arrival that I had more knowledge of and/or experience with a greater proportion of VSS's capabilities than did many of our developers and most of our PM's.


The decision was really a pretty easy one for us -

Option A:  StarTeam with both versioning and defect tracking (StarTeam calls them "Change Requests", which is really a more generally useful term).

Option B:  VSS and then go find or build a defect tracking system. Some might be free, others certainly are not.


Hmm. For us it was Option A hands-down.


Since we're a services shop that does individual projects, we don't have a huge, priceless, highly-branched product codebase to migrate - we've been able to move over pretty smoothly just by starting each new project out in StarTeam instead of VSS. If you're at a shop with a major product codebase to protect, and if migration is an issue for you, then changing to ST would be more involved -- not necessarily bad, you just have more at stake and there are undoubtedly non-trivial procedures to follow - rtfm.

Server requirements are essentially the same as VSS - we've had both running on NT4 and more recently W2K Servers. The boxes are nothing special - 500 mhz PIII Compaq rackmounts with at least 256mb RAM have run just fine for us. We're even using the MS Access (yech) option instead of the SQL Server option, so far without any problems. We've got terminal services running so the two ST Admins can get into the ST Server Software remotely. We're supporting about 30 users. Our regular sysadmin has handled any issues with the boxes and network configuration, and our two resident ST Admins / "experts" (our senior developer [VP Technology], and me [QA Manager]) have handled the StarTeam configuration, project setup and configuration, and user issues that have arisen without any major extra expenditure of time. Our SA's most challenging issue to date has been migrating ST from one box to another (wanted to change from W2K Adv Server to W2K Server), wherein the major issue was migrating the repository successfully. I know he had to dig into the docs and make a few phone calls to make sure this went without a hitch, but from talking to him it did not sound like it was anything extraordinary. At least, no worse than other problems he's used to handling.

We have had no problems getting into and using StarTeam over our VPN, either for file versioning or for change requests. These past Christmas Holidays we accomplished an enormous amount of work developing and testing a system while the five of us actively working on it were all at home - four widely scattered around the greater metro Atlanta, GA suburbs and one in FL.  We pushed builds, performed tests, recorded results, fixed defects, etc. and ST worked fine. We all have broadband connections, so that helps, but any problems with your connection bandwidth is not an issue specific to StarTeam.

I could write a lengthy list of idiosyncrasies I do not like about StarTeam, but to be fair, I have to give it its due - it has done the job well. My wish list is not things about ST failing to function or having operational problems; it consists of "I'd have built it this way..." comments. Us damned users, we're never satisfied!

As the other ST Admin and I have learned more about how to make use of ST's power, the better we've liked it.



Now - if you do not yet have StarTeam, you need to research costs carefully - StarBase is *very* proud of StarTeam, and it shows in what they charge for it. I do not have numbers for you, but you can expect a serious chunk of change to fly out your door for any number of licenses. And then more, of course, for the annual maintenance. Even without knowing specific numbers, I'd say it's a fairly good bet that StarTeam is going to be an order of magnitude more expensive (at least) than VSS for the same number of users. I'm sure the same would be true for ClearCase vs VSS as well. You get at least an order of magnitude more functionality, but you have to think through that value proposition carefully for your situation.

Some of our users are on Mac workstations (very few, but they're vital to us), and an interface they can use for either version control or for defect tracking has been an issue for us. It was when we were on VSS as well. I suppose there's a Mac interface around somewhere to allow access to VSS, but I have no experience with it. There is a web interface for StarTeam change requests for version 4.2, but I've only seen it once, and second-hand reports are that it's, well, I'll substitute the word "crappy".

So, that's been our recent experience migrating from VSS to StarTeam. So far, we have not regretted the decision to change over.

F.J. Weiland
Tuesday, February 26, 2002

Regarding the recommendations for Perforce: You might be interested to know that Microsoft is abandoning its former internal source control system for a new system called Source Depot -- which is actually nothing more than a specially licensed and slightly modified version of Perforce.  Apparently the entire Windows NT (2000/XP) codebase is now reposited on a single server.  Likewise Office is managed by a single Source Depot server.

I have no affiliation with Microsoft or Perforce, but I've used Perforce and like it, especially having come from VSS <spit>.

Jeff Morrisi
Sunday, March 03, 2002

Has anyone done an extensive research of the advantages of using Rational ClearCase, provided that he/she was using VSS before? If so can you share your experiences of Using Rational's product over Microsoft. Me being an avid VSS user would like to switch over to ClearCase, but just want to get some feedback before doing so

Justin
Monday, August 04, 2003

For the CVS users. Check out SmartCVS. It's a much better tool than WinCVS.

www.smartcvs.org

Patrick Lemmens
Tuesday, August 26, 2003

SourceGear's vault is a good alternative to VSS.  They have made their interface look like VSS for simplicity but the reps are stored using SQL Server 2000 which means nice and easy to back up.  www.sourcegear.com

Ceri
Monday, February 16, 2004

*  Recent Topics

*  Fog Creek Home