Why Subversion Scares Me
git-tower.com
git-tower.com
You work on feature branches, then merge them into trunk. Only at the point of that merge are you sharing changes with everyone. But at any time, everyone can see your private branch, centrally.
Committing infrequently is a problem with not using branches properly. I commit to an SVN repository up to 50 times a day without forcing my code on anyone.
Merges aren't any scarier than they are in Hg/Git either despite common belief.
All VCS problems are usually external to the VCS i.e. human or process issues.
Edit: I just noticed the author is pushing a Git client. need we say any more.
Have they fixed that?
Switching branches depends on how much change there is between the previous branch and the one you are switching to. It basically sends all the files that have changed. On our solution which is about 120,000 files, it takes about 10-25 seconds on HTTPS/WebDAV protocol.
It's fast enough. I switch probably 2-3 times a day.
You can check each branch out separately if you want but this isn't necessary and probably is the cause of the pain you had.
Or maybe you don't understand what the article is about.
> You work on feature branches, then merge them into trunk. Only at the point of that merge are you sharing changes with everyone.
> Merges aren't any scarier than they are in Hg/Git either despite common belief.
This is the theory, but in practice I haven't seen SVN people doing it, I once worked for a company that had SVN and told the people that we should do feature branches, and the lead developer instantly rejected it, because it is too hard to merge.
So either 99% of the people don't know how SVN works or branching is simply too damn hard in SVN.
> Merges aren't any scarier than they are in Hg/Git either despite common belief.
> All VCS problems are usually external to the VCS i.e. human or process issues.
A lot of major projects switched to git from SVN, so either the are all "idiots" or they had a real issue with it.
Even if all VCSes are equal as you say, the fact that people lack the mental capacity to comprehend the greatness of Subversion makes it inferior to Git.
While I do prefer the Git approach to version control, it is too easy to just dismiss branching as a "workaround". It is a good solution to the discussed problem.
The fact that Subversion does that in one step, compared to two steps in Git doesn't really matter.
In some ways Git makes the problem of large, infrequent commits worse because of the ability to track local commits.
You're afraid to push changes because other people might see how bad your code is? Either write better code or grow a thicker skin, or both.
The fact that many people embrace this secretive, private way of using version control scares me, and it's this sort of nonsense that causes a lot of old-school programmers to be skeptical of systems like git.