SVN or GIT

When to use SVN:
Centralised management. Centralised control.

When to use GIT:
Local developments, non hiarchical teams.

Source control statistics

People are using following systems:

CVS 12,6%
Git/GitHub 6,8%
IBM Rational ClearCase 2,8%
IBM Rational Team Concert 0,9%
IBM Rational Telelogic Synergy Suite 0,2%
Mercurial 3,0%
Microsoft Team Foundation Server 0,8%
Microsoft Visual SourceSafe 1,6%
Perforce 3,0%
Subversion 58,3%
None – I don’t use a source code management system 5,6%
Don’t know 1,4%
Other (specify) 2,9%

Source: Eclipse Community Survey 2010

Deploy svn on your server

SVN deployments are not always easy and straightforward. I prefer to have a web-interface such as WebSVN that will allow you to see the source code and check differences in between versions from a simple web-client. This is fine for reading, but not useful for getting a working copy to your local machine.

For downloading the source-tree, the branches or trunk, one would use one of the access protocols. The most straightforward is HTTP. This is understood by everyone and allows a simple viewer even without WebSVN. For commits, we would use ideally HTTPS. Both protocols require the WebDAV protocol to be deployed.

If you are working on a local machine, or in a local Unix/Linux/Mac environment, one would choose SVN or SVN+SSH. Given the difficulty of setting up SSH in a corporate environment from a Windows machine, I do not believe this is a real option for a vast majority of users. (Yes, some developers are living in a Windows corporate world.)

Lets assume the following scenario. Developer is somewhere on the internet, the repository is in corporate walls and a firewall is sitting in between. The correct set-up would be. HTTPS on the developer’s pc, connect to proxy forwarder gateway at corporate DMZ, forward this to in-house HTTPS WebDAV enabled SVN server.

The trouble with this set-up is that while the developer can browse the repository over HTTPS (or HTTP) or by means of the WebSVN directory, he cannot check-in if his pc is located behind a Microsoft proxy server…

Error getting OPTIONS – error 503, or MKACTIVITY – error 503.

I am still looking into a resolution for this problem. Any help welcome….

Redmine

How to install redmine on a Mac:

http://www.apple.com/downloads/macosx/development_tools/bitnamiredminestack.html

Source control systems

In order to select a good source control system for your organization, please make sure to read following articles. If you need assistance in deciding, we can be of help.

Warning: There is a difference in between Source Control, Version Control, Lifecycle management system, … make sure not to mix those up.

Now the article (gone already).

Another good source is Forrester research.