views:

958

answers:

13

Possible Duplicates:
Source control system for small database dev team
good version control software for Delphi 2009

We are a small team of 4 developers and need a good version control system for use in-house. 2 of the developers work remotely from home and 2 mostly in the office.

We are Delphi developers so would like something that has a proven track record with Delphi code. It also must be able to keep track of things like database structure and other related files.

I have had a look at SVN and CVS but I'm having trouble finding either an add-in or easy to use client for use with Delphi 7 on WinXP.

Any suggestions?

+4  A: 

Subversion is a good choice for a small team.

It is very easy to setup a subversion server.

Oded
+14  A: 

Have a look at Mercurial or Git, will help with the remote users, and there are client apps that integrate with Windows Explorer, so you shouldn't have language dependent issues. There is a Tortoise client for Mercurial, too.

baldy
+1 for git for all users for all time. I use the builtin GitGui for most everything and it suits my needs quite well.
TokenMacGuy
I found that GIT and Mercurial were not very handy for forced-centralization (the model that Subversion supports). A sea-change in that department would cause a ripple effect throughout our corporate development processes.
Warren P
+2  A: 

You can use Tortoise SVN for Windows platforms

Justin Johnson
+1  A: 

If you want an easy to use client for cvs and svn on Windows take a look at Tortoise http://tortoisesvn.tigris.org/ Its really nice and easy with right-click functions.

Martin Hoegh
+31  A: 

I swear by TortoiseSVN, which is an svn client that integrates very smoothly into Windows Explorer.

I realise that won't give you IDE integration, but it will keep you off of the command line (if that's the way you prefer to work).

I would definitely advise choosing svn over cvs. svn could have been called "cvs 2" - it's basically cvs but with a whole lot of pain points removed. For example, you can rename files in svn, but you have to delete them and re-add them in cvs.

As a general point, I am not a fan of relying completely on IDE integration for your version control. There are all sorts of activities (merging, branching etc) that are better done outside of the IDE where you have tighter control over what you are doing.

ctford
The rename feature in CVS is really missed!
Martin Hoegh
easy/cheap branching and mergetracking also
Marco van de Voort
and atomic commits.
mghie
CVSNT has rename, atomic commits and far better branching/merging (i.e. mergepoints).
ldsandon
Subversion integration for Delphi IDE comes in two easy to use flavors:1. in future it will be included in Delphi 2010, we are told, by an add-on that should be published Real Soon NOw.2. Download the JEDI JCL, the latest version includes IDE-integration for Subversion.
Warren P
+9  A: 

For a central server system, check out Subversion, which is easy to use as well. TortoiseSVN integrates Subversion nicely into Windows Explorer.

If you are looking for a distributed version control system, there is Git (and many others like Mercurial, Bazaar, et cetera). TortoiseGit integrates into Windows Explorer.

Alan Haggai Alavi
Distributed version control system is an attractive choice when part of the team works remotely.
Álvaro G. Vicario
+15  A: 

I also prefer Subversion, if you are hosting on windows server VisualSVN server is very easy to setup.

Henrik Adolfsson
+1 for visual svn. best svn server out there. and use tortoise for client, as a couple of people have mentioned...
David Hedlund
Yes. Visual SVN Is a very very easy to install subversion server.
Warren P
VisualSVN is very good (we use it) but be aware that it has a few querks when compared to a "vanilla" Apache SVN server (VisualSVN is essentially a "shrink wrapped" Apache+SVN distro) especially when using Windows integrated authentication. These don't amount to *major* problems but can make it tricky when trying to integrate tools/extensions where the instructions/community experience assumes "vanilla" Apache (e.g. WebSVN).
Deltics
A: 

To integrate Subversion into Visual Studio (if you're working in that environment) look into AnkhSVN.

antik
Since the OP specifically asked about VCS systems that integrate with Delphi, it's pretty obvious that Visual Studio is not the IDE being used.
Ken White
+4  A: 

JCL has a Delphi IDE version control plugin (CVS + SVN): http://jcl.delphi-jedi.org/

Not free, but a very nice (!) system is "PlasticSCM": http://www.plasticscm.com/demos/plastic28/index.html Works with branches, which works very good for parallel development ("branch per task pattern"). For every task (ticket, bug, issue, whatever) you make a child branch. Plastic will update your "workspace" on disk, so all files have the right version. You can make as much changes and checkins as you want, because you work in your own branch, so nobody else get troubles if you checkin something that does not compile! This works LOVELY!

If you switch to another branch (because you must make a quick bugfix), all changes are "shelved" on the server, current workspace is automatically updated to that other branch, you can make some changes + checkin, switch back to your branch you were working on, and all files are unshelved again, so you can continue where you were before. Very very nice.

It has a very cool GUI client, works also on Linux, and we use a third party Delphi IDE plugin: http://www.epocalipse.com/scx.htm

André
I tried using the delphi ide plugin you mentioned but it kept causing errors in delphi 7. Which version of delphi do you use?
delphigirl
We use D2007What kind of errors? Files which are read-only? Delphi does not like that, but that's more a Delphi problem...
André
It wasn't read only files. Can't remember what the error was but it was mainly on shutting down delphi. I uninstalled it quite quickly.
delphigirl
+2  A: 

http://jedivcs.sourceforge.net/

JEDI VCS clients - The IDE expert version, from Delphi 5 ...-->> to RAD 2010 - The Stand-alone version. - The command line version.

JEDI VCS Servers. - Firebird - Oracle - MS-SQl - DBISAM - Informix

peponloqui
+3  A: 

Basically go for Subversion if you're looking for a CVS that has loads of tools and support (TortoiseSVN is quite good).

I myself have decided to go with Mercurial for projects with small teams because it's so easy to clone the repository and keep on checking in/submitting code even when you are offline. Also it's in python so it works with minimum hassle in Windows, Mac and Linux (I believe for Windows there's also a TortoiseHg UI application).

ruibm
A: 

If you are willing to spend money, perforce is well worth the money (about $800 a user) it is fast, works well over a network and after a bit of learning is very effective.

There is a good Delphi integration SourceConnexion

Toby Allen
perforce seems like overkill for a small team like he mentions. Why spend 800*4 dollars for perforce on a small team when there are so many other options out there that work just as well for a team of that size.
Jeremy Wall
One reason might be that the team may well grow in future, and those free and easy solutions for small teams don't necessarily scale so well, even for a small increment in team size. I myself wouldn't consider SVN a "slam dunk" for a team of larger than 3, especially not one that is geographically spread. SVN *could* still work, but I would seriously consider paying for something at that point.
Deltics
I dont understand how using a high quality, robust, efficient, fast, simple SCC system could ever be overkill even for 1 person.
Toby Allen
+1  A: 

I use SVN with TortoiseSVN, and use the Delphi AddIn For Tortoise SVN for IDE integration (Delphi 7 and 2007 - haven't checked it with 2009 and 2010 yet).

Ken White
Had not seen this before - I have been using Tortoise for a while now, this is a nice addition. Thanks for the tip!
HMcG
I don't remember how I originally found it, but it's pretty well done. I still drop back to TortoiseSVN directly once in a while, but not too often.
Ken White