views:

1784

answers:

14

does anyone have a good idea for what I might use ?

+18  A: 

Its not specific to Delphi but SVN is the way to go for version control.

server - subversion (http://subversion.tigris.org/)

windows client - TortoiseSVN (http://tortoisesvn.tigris.org/)

Lawrence Barsanti
SVN is the way to go for centralized version control. If you wanted distributed, it wouldn't cut it.
Thomas Owens
+1  A: 

I'd recommend a DVCS (Distributed Version Control System). I'm not going to give a specific one to avoid potential flaming, but the big ones are Git, Mercurial, and Bazaar, all of which are quite good.

These allow you the benefit of working offline and working from any computer, while still maintaining version history.

Also, since it's distributed, you don't need some central server, so if a computer crashes, you're still good to go.

Here is a good article about DVCS vs traditional VCS (such as SVN).

samoz
A DVCS is no replacement for a proper backup strategy.
mghie
he's asking about version control, not back up strategies. DVCS are wonderful for version control. If set up properly, they can also be a backup strategy by placing a copy of mainline on some backup server.
samoz
You brought the crashing computer into it...
mghie
In other news, RAID is also not backup.Since you were saying "if a computer crashes", you were talking about backup, yes, your data may be distributed, SVN is usually good enough.
Osama ALASSIRY
DVCS isnt just good enough though, it's better.
samoz
+4  A: 

I have moved away from VSS to Subversion with Tsvn, you can look previous question I asked about replacing the VSS for better VCS with Delphi Moving away from VSS.

And to make the moving to Subversion easy, use VisualSvn server, which is very easy to install and work with.

The good thing about moving to Subversion that next Delphi version will include support to it from inside the IDE.

Mohammed Nasman
Is subversion integrated in the 2010 beta?
Wouter van Nifterick
As Nick Said, it will be separate project and will be shipped after final version of D2010.https://forums.codegear.com/thread.jspa?messageID=144887
Mohammed Nasman
+4  A: 

All version control systems should work just fine for you. You do not need a specific version control system for Delphi, or any language for that matter.

Some ideas:

  • Subversion (Central and simple to install and learn)
  • Mercurial (Distributed and easy to learn)
  • Git (Distributed; best for Linux, not Windows; does everything)
geowa4
git works great under windows. i use it for all kinds of things under linux and windows. git's the best thing out there right now. I've used VSS, PVCS, ClearCase, CVS, Subversion. Git beats them all on performance, flexibility of workflow.
Don Branson
I noticed that you didnt mention another dvcs there. also, git for windows requires cygwin or msys--hardly native support IMO.
geowa4
+1  A: 

The company I work for uses Vault but would I advise it? Well, it's better than VSS that we used before.

We combine this with SourceConneXion which is a Delphi IDE plugin and which supports several source control products, including Vault, Subversion, CVS and whatever else you might think of.

Since we're developing in both Delphi and .NET, these products work quite well for my organisation.

Btw, if you're a single developer and only want one license then Vault is free!

Workshop Alex
My company also uses Vault, and we've been very happy with it. If you look on the Vault website they have an interesting comparison vs Subversion.
Alistair Ward
+1  A: 

We are using since two years JediVCS (part of the Jedi Proyject). It's stable and work outside the IDE (standalone application) or Integrated with the Delphi IDE.

Work with a lot of servers:

  • DBISAM 3.x
  • FlashFiler 2.13 (Open Source version)
  • Firebird 1.0x, 1.5x, 1.5x embedded (with support for characterset configuration)
  • Oracle 8.x, 9.x, 10.x
  • MSSQL 7, 8, 2000 (with both supported security models ("Trusted NT security" or "SQL based")
  • MySQL 3.23x, 4.0x, 4.1x

NOTE: Here you can see a video of installation process, the integration with Delphi IDE, Check-in and Check-out files process...

Regards.

Neftalí
I also used JediVCS for quite some time, but if I was starting new I would most likely select SVN due to its strong industry support and the rumored integration into the next version of Delphi.
skamradt
Their FAQ states that JediVCS doesn't let two developers to edit the same file. Is that true? If that's the case, it's unacceptable.
João Marcus
+6  A: 

I use Team Coherence, from QSC. This integrates nicely into Delphi (I think the standalone desktop client app itself is written in Delphi too) and it can be used over a network/the web etc.

I'm a 'lone developer' who uses it to get to my source code wherever I am. It does all the obvious source control stuff pretty well (versioning, history, comparisons), and I'm happy with it.

It's not free, but if you want something that really does plug into the Delphi IDE, and that 'understands' Delphi sourcecode and projects (for instance, checking out a form is a single operation - .DFM and .PAS are intelligently linked together in the mind of TC), then it's worth a look. I'm quite happy with it.

robsoft
If you happened to be someone who downvoted me for this answer, could you please explain why? The question was for Delphi-friendly VCS, of which TC certainly is. Perhaps I'm being punished for the 'trendy' swipe at Subversion...? :-)
robsoft
I don't know Team Coherence, but maybe some people downvoted because they think it is a bad choice? It would really help if those people would in fact comment on their downvote then, rather than leaving us wondering here.
Arjan
I'm removing the comment about subversion from this because I'm repeatedly getting voted-down by drive-by cowards who vote answers down without bothering to explain why. I think this one has been down voted about 8 times already, presumably from subversion fanboys who are too insecure to let a stranger on the internet refer to their VCS of choice as 'trendy'. *sigh*
robsoft
Hi, I just added a post about my experience with TC. Not sure that it explains any downvotes, but hopefully it will add another perspective for anyone considering using it.
dominic
+2  A: 

First, don't choose your version control system primarily on the level of integration with the IDE!

Subversion, as many have said, is pretty much the de-facto standard for modern version control software.

Personally I just use TortoiseSvn, and don't worry about integration into the IDE.

If you want integration into the IDE, look at SourceConnexion from Epocalipse. They have a D2009 version.

Codegear have hinted that SVN integration could well be in the next release of delphi anyway.

Roddy
+2  A: 

I would like to recommend Plastic SCM. We used Team Coherance before, but due to multiple reasons (slow, bugs, etc) we have chosen for Plastic SCM: http://www.codicesoftware.com/xpfront.aspx

Very good support (email reaction mostly within 1 hour!) and it has fabulous branch and merging support! Task driven parallel development with multiple developers works much better than traditional version systems like TC, CVS, etc.

André
A: 

If you are a single developer, then Perforce is a good choice. It's free for 1 or 2 developers. You can use the command line or the gui (P4V) which makes it pretty easy. I've used it for a few years now, and even when I had an issue with it about a year ago, their support was great, treated me like a paying customer, which I'm not. It's easy to set-up, and there's plenty of documentation. It also integrates into other applications like Teamcity and Jira/Fisheye.

Just my 2 cents.

Vic Adam
A: 

Tortoise SVN Complicated at first but very reliable

junmats
A: 

Try Plastic SCM together with SourceConneXion integration.

Take a look at the following posts here:

Actually it is a very strong combination since Delphi is probably the greatest IDE/language combination for most tasks, and Plastic the strongest for parallel development.

pablo
A: 

As an earlier poster mentioned Team Coherence, I thought I would add some comments based on my experience of it.

I used Team Coherence (TC) as part of a small team of three to four people for two years, and then we swapped to AccuRev. I would say that for a single developer with simple version control requirements TC would be OK, especially if they use Delphi.

However, (amongst other things) we needed to be able to:

  1. Support mainline development whilst also keeping a release branch for urgent customer bug fixes.
  2. Link items in our bug-tracking system with sets of checked-in changes ("change-set tracking").

We found that using TC to do branching was very confusing. It is much easier to support our branching requirements with AccuRev.

In addition TC didn't support grouping checkins into change-sets, and so it couldn't really fulfil requirement 2.

However, AccuRev is more expensive than TC. Subversion is free, and seems to support branching very well, but as I have only used it for very small projects at home I will leave it to others more experienced with it to recommend it or not.

In short, if you need to support multiple branches, or change-set tracking I would not recommend TC. If, however, your version control requirements are simple (check-in, check-out, version differencing) and you use Delphi, then TC may be an appropriate choice.

dominic
As that earlier poster, I'd agree with some of your comments regarding TC, Dominic. One of my clients uses it (I work with a developer there) and although they use TC's Tracker to follow bugs, there seems to be little real integration with the source control itself.
robsoft