Advice needed on Source code Control

Hello Goodjers,

I've recently joined a small startup company. We're 4 developers at the moment, and not planning on expanding in a meaningful way in the near future. Currently, source control is nonexistant, and I can see catastrophy looming on the horizon if something isn't done soon (they have 1.5 years' worth of codebase already).

What I am looking for is something free/cheap and dependable, to cover our basic needs. There's rarely more than one of us working on the same module/file, so what's most important to us is just keeping track of file versions, releases, handling of backups and the like, no fancy stuff

My thanks in advance!

I really like using Subversion, with TortoiseSVN as my windows shell client for updating/committing files. It's easy and painless, and free!

Ditto bagga's comments.

Your two serious choices are CVS and Subversion (SVN). Both have free client/server implementations, and both work very similar.

The best argument I've found so far between the two is that Subversion handles binary files better.

If anyone has a better argument than that, I'd like to here it (I really would since my research came up flat)

I think SVN manages the different versions more efficiently too. Another thing that is nice in SVN but I just couldn't find an option for in CVS is that if you change a file in a directory, the "file-changed" flag will be propagated up to the topmost SVN controlled directory that contains the file. This way it is easier to see where you have made changes, w/o actually going into every directory to check.
(CVS probabaly have this feature too, but it certain isn't enabled by default, and i didn't find a way to enable it)

Also, SVN has a pretty nice default merging tool. CVS on the other hand doesn't have one included. (again, this may be changed, but our company has since moved on to SVN, so I wouldn't know if more recent updates to CVS has added a merging tool)

I haven't used either yet except to check out code from open-source projects, but SVN is definitely getting more popular.

I need to set something up on my local network server for my own projects. I think I'll take a stab into SVN.

I really like using Subversion, with TortoiseSVN as my windows shell client for updating/committing files. It's easy and painless, and free!

He speaks the truth. It's awesome. Just don't use source safe. I know, it comes with Visual Studio, blah blah blah, but really. Just don't.

I'll get behind Subversion as well, with Tortoise as the front end. Once you figure out the workflow, it works very well. And it's got some features CVS doesn't.

Also, I've used SourceSafe in a small team before, and it worked well. I think I'd recommend SVN instead, though, just because it's slick, and easy to use...

But once you start making the big bucks - Perforce all the way!

Well, seems it's Subversion by K.O

Thanks guys, I'll set it up in the next days probably, and hopefully get back to you with impressions soon.

Minase wrote:
I really like using Subversion, with TortoiseSVN as my windows shell client for updating/committing files. It's easy and painless, and free!

He speaks the truth. It's awesome. Just don't use source safe. I know, it comes with Visual Studio, blah blah blah, but really. Just don't.

Other then the obligatory "It's not OS", what's wrong with SS?

The only drawbacks I see are non-atomic commits and that VSS is slow over a remote connection. For anyone interested here is a comparison of current VCS:

http://better-scm.berlios.de/compari...

I've never had to work with VSS over a remote connection, though we do have a remote developer here so I bet she would agree.

Atomic Commits I didn't know about. Worth looking into for sure. Thanks!

A little late to the party, but another vote to subversion. Unlike CVS, renaming or moving files preserves the file's history, which is quite cool when you as refactoring happy as me (I love you IntelliJ!)

Definitely Subversion.
And then, get Trac. Trac is your unholy god of a bugtracker + wiki.

Trac is good because it integrates really well with Subversion. It will track your changes and revisions and let you set milestones and do all sorts of really nice stuff.

Gee, I use Trac everyday and failed to mention that.

The Chicken is right, Trac+Subversion == painless management.

Trac, got it

Much appreciated guys

I know our developers said VSS was unusable when they started working remotely. When we looked for a system they ended up choosing Perforce and have loved it. Sorry, I can't give you any bullet points I just make sure it gets backed up and otherwise don't touch it.