Git – version control security

gitteam-foundation-serverversion control

We are looking for a version control tool. I personally think it's pretty cool to use Git. However, my boss recommends TFS. He told me it's much more secure to use an SQL Sever based tool, such as TFS and SourceAnywhere.

In addition, my boss also sent me a link.

My question is: Is it secure/strong enough to use Git or SVN for business usage?

Best Answer

don't go with Git just because its "pretty cool", use it because it solves your problem in a way that fits with your workflow.

As for TFS... Martin Fowler had a little survey.

Anyway, you have to define "security" - do you want to protect the source from unauthorised users, or to put a read-only flag on some areas, or even prevent some people from looking at some areas. You can do this in SVN easily, use VisualSvn Server and you can apply r/rw security controls on any folder in the tree. TFS is the same. Git, on the other hand.. is not designed for this. Git works on the principle that all the source is 'copied' to each developer's workstation, so they get everything all the time. Its part of what makes git special - in that once you have all the source locally, you can merge and branch quickly and easily, but it means you do not get to put the corporate restrictions on it either.

The choice of back-end is meaningless. Use a file-based system, or a SQLServer based system.. its all the same, the level of security access depends on what the tool allows (and your admin policies on the back-end data, a SQLServer with a sa password of 'sa' or even unrestricted Windows auth would allow anyone access to the database).