PDA

View Full Version : Version control - what to use?



TheKedge
1st March 2007, 17:31
Hello all,

I'm the sole developer in a small company. Version control hasn't been much of an issue before now, but we're getting bigger and I'll soon have a headache controlling what versions of the software each user gets. I'll still be the only software developer for a while.

I've never used version control. I believe it's a good idea. I don't what to just jump into some commercial product. I like open source. I need something really simple and reliable. I don't want to spend time controlling versions when I should be solving other problems...

I only have a vague idea of what goes on in a version control system.
Any recommendations? - What should I use?

thanks

K

e8johan
1st March 2007, 18:26
SVN is easy to use, well documented and established. Combine it with the TortoiseSVN client for integration with Explorer (I see from your user info that you are on Windows).

wysota
1st March 2007, 21:31
Perforce (P4) is quite nice as well. Trolltech uses it for Qt. There is even a Qt based graphical client for it. Stay away from MS Source Safe, CVS and RCS (CVS is fine by itself, but SVN is very simmilar to it in use only much better). There is also "git" or something like this...

stevey
1st March 2007, 23:07
Tortoise SVN is quite good but I find it painful.
By far the best I've come across is SourceGear's 'Vault'.
It's basically Source Safe rewritten from the ground up with extra whistles and bells.
The best thing being the files are stored on an Sql Server making it a true client server environment. It's VERY good and VERY easy to use.

Eric Sink who runs SourceGear gives a very through run down on SCM theory as related to Sourcegear, but also reccoemends others like Perforce, CVS and SVN.
After reading his article chose to use SVN. After a few months I got sick of it and went for Vault. It's also very modestly priced.
The only negative is that there isn't a windows client for it. The backend server is all run via web services so it should be easy to create a client application in a cross platform language such as Qt. I've been thinking about taking on the task myself.

Visit Eric's blog at http://www.ericsink.com/scm/source_control.html before making up your mind and he discusses the pros and cons of each system.


Steve York

patrik08
2nd March 2007, 00:34
Hello all,

I'm the sole developer in a small company. Version control hasn't been much of an issue before now, but we're getting bigger and I'll soon have a headache controlling what versions of the software each user gets. I'll still be the only software developer for a while.

I've never used version control. I believe it's a good idea. I don't what to just jump into some commercial product. I like open source.
K

Great! :) if you build miliards of dollar.... you cannot sleep well....
and on your dream You see picturs from TCPA http://de.wikipedia.org/wiki/TCPA



I only have a vague idea of what goes on in a version control system.
Any recommendations? - What should I use?
thanks
K

SVN Subversion is a good chois to beginn .... run on Mac , window && Unix-Linux ....

2 or 3 weeks a go is comming the 2° Auflage (remake?) i have the first edition from this book .... and is very easy.... to handle ...

Only the server install is not simple..... but i have a small how-to wo running...

http://ciz.ch/service/96,1108330126/it/

Here the book .....

Frank Budszuhn

Galileo Computing
369 S., 2., aktualisierte und erweiterte Auflage 2007, geb., mit Referenzkarte
34,90 Euro, ISBN 978-3-89842-879-8

stevey
2nd March 2007, 01:30
SVN Subversion is a good chois to beginn .... run on Mac , window && Unix-Linux ....

Sorry, but I have to disagree.
The SVN backend is great. I can't fault that part at all.
It's better than CVS for many reasons, one biggie being 'binary deltas' so you can have incremental changes to large binary files without the backend databae getting huge.
But if you're not familiar with SCM procedures and concepts, then TortoiseSVN can be terrible, albeit the only gui based client for SVN on windows.
It's a good product but bits of it drove me nuts to the point where I hated it. And I had used others before that.
Is there a better client program on linux that could be ported to windows, anybody??

Back to an original point:


I need something really simple and reliable. I don't want to spend time controlling versions when I should be solving other problems...

Regardless of the SCM system / client you use, even with the most appropriate SCM to suit your needs, you can still end up spending way too much time fixing problems if the don't manage the SCM correctly.
Read the Eric Sink blog thoroughly so you understand what an SCM does and how to avoid issues, then trial some systems (even the commercial ones).
( If nothing else, download the Vault 'trailer' video for a good laugh ;) )

Steve

wysota
2nd March 2007, 02:05
SVN is so simple there is really no benefit from having a graphical client. Let's face it - 90% of time you'll be doing "svn commit", "svn update" or "svn revert". Not that hard to call from command line, is it?

About Eric Sink's blog - somehow I don't trust a comparison to be objective when the comparison is done by the author of one of the items being compared :)

stevey
2nd March 2007, 02:56
Try reading the Eric's SCM how to blog, then make up your mind if it's objective or not :D

Even if you're not going to use his product, he talks about how to manage branching, merges, etc which is useful for managing all SCM systems.

For a beginner to SCM in general it's a great blog.



Steve

yop
3rd March 2007, 18:33
I would say that the final choice depends on the needs. For centralized repositories (cvs, svn etc.) you will need a pc that will act as a server for the repositories. Everything has to be commited to the central repository. I like decentralized repository models better (bazaar, mercurial, darcs). You get all the benefits of the centralized repos plus the fact that each checkout is a full repository on each own. Branching and merging is a piece of cake.
If you need a centralized repo then go with svn.
If you don't I suggest darcs.

At work we still use cvs (it's the most mature source control system).
At home/fun I am using darcs (imagine that my "repository" lives on a usb stick).

P.S. After you are finished selecting a source control solution you should also start serching around for a good bug tracker ;)

fullmetalcoder
3rd March 2007, 19:01
Sorry, but I have to disagree.
The SVN backend is great. I can't fault that part at all.
It's better than CVS for many reasons, one biggie being 'binary deltas' so you can have incremental changes to large binary files without the backend databae getting huge.
But if you're not familiar with SCM procedures and concepts, then TortoiseSVN can be terrible, albeit the only gui based client for SVN on windows.
It's a good product but bits of it drove me nuts to the point where I hated it. And I had used others before that.
Is there a better client program on linux that could be ported to windows, anybody??

I don't think you need to port anything... If you got enough patience to download APR and Subversion devels for Windows you should have a look at QSvn. (http://ar.oszine.de/projects/qsvn/) It's build with Qt and is thus portable. It's interface is similar to other graphical clients (apart from TortoiseSVN which is a shell extension) like eSvn (Gnome) and KDESvn (KDE :rolleyes:). It embeds SVN library and is thus a little faster than other programs relying on svn command line tool.

camel
3rd March 2007, 19:40
It's interface is similar to other graphical clients (apart from TortoiseSVN which is a shell extension) like eSvn (Gnome) and KDESvn (KDE :rolleyes:).

eSvn...Gnome?
The one I have on my computer has this in its Acknowledges:

Thanks to the people behind Trolltech for a very powerful toolkit.
Thanks to Jasmin Blanchette and Mark Summerfield for the perfect book "C++ GUI programming with QT3"

;-)

fullmetalcoder
4th March 2007, 09:49
eSvn...Gnome?
The one I have on my computer has this in its Acknowledges:
;-)
Whoops... :o Forgive this confusion...