On 24/01/2010, at 10:26 AM, Anders Østergaard Jensen wrote:
...our business is completely reliant on proper SCM controls

If you're releasing versioned commercial software, then SVN's merge strategy is quite primitive compared to other SCMs, even when you take into account the "merge tracking" features introduced in SVN 1.5. Integrating a change across your trunk, release branches & then creating the relevant releases inclusive of that change is horrendous with SVN. It's not until you use something like Git that you realise how many hoops you're jumping through.

Most people tend to use a Subversion-style centralised repository approach when they're working as a team, so the distributed benefits are minimal. However, the distributed contribution model is really beneficial if you use a lot of open source libraries.

Github's another benefit, albeit more of a social benefit than a technical one.

Speed is also a major benefit, because it affects the features you use. Branching with SVN is generally limited to release management, not because branching is hard, but because it's slow and cumbersome. Branching in git is fast & easy, meaning you'll use branching much more to avoid those moments where you feel you need to finish something off before moving on out of fear of breaking the build or confusing yourself.

As for downsides, I'd say that the interface to Git is highly unintuitive compared to SVN. The core features you'll use every day are fairly simple & easy to learn, but there are others that make no sense at all. To all those thinking "what on earth is he talking about?", how long did it take you to work out how to delete a remote tag/branch?

Also, if you've got non-developers committing assets (documents, images) to your repository via TortoiseSVN, you can switch over to TortoiseGit, but all I've heard of it was that it was buggy & slow in the early days, and now it's "good enough".

I'd suggest you keep SVN and use git-svn for a while to get comfortable. If you like what you see, do a full import of your repositories and make the switch.


Cheers,

Nathan de Vries

--
You received this message because you are subscribed to the Google Groups "Ruby or 
Rails Oceania" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rails-oceania?hl=en.

Reply via email to