7

Our dev team uses VS.NET for app development and TortoiseSVN/VisualSVN for version control. It seems that almost every day issues arise with the working copy or the repository getting screwed up, and folks just throw up their hands and call me when it happens. There are definitely human factors at work (SVN works as it should) but I'm tired of playing SVN helpdesk to the dev team. Can anyone recommend a better/more intuitive setup for version control?

bahrep
  • 26,679
  • 12
  • 95
  • 136
nw.
  • 2,156
  • 4
  • 27
  • 40
  • "It seems that almost every day issues arise" we've a team of 5 that have been using SVN for +5 years, in that time I cannot remember a single issue we had with it. Are you sure you have it setup property? – Binary Worrier Apr 21 '11 at 14:57
  • 1
    How are things getting screwed up? It might be that you need to look into your branching strategy. Sounds like the users just need to learn a little more about the system. We've had similar issues with ClearCase, but honestly, it's a part of every developers job to learn the tools (including version control tools) that you use to develop software. – Mark Synowiec Apr 21 '11 at 15:00
  • 1
    My company has 90+ dev teams, consisting of 3 to 10 developers per team, and we've used TortoiseSVN with zero issues for years. Your team needs training on the tools they use, not new tools. – Juliet Apr 21 '11 at 15:42
  • Also, you might want to consider hiring a configuration manager who handles respositories and deployments -- I worked on a team where developers maintained their own repositories so badly it was a joke. They created branches by downloading code to a new directory on their machine, then adding that directory wherever they felt -- meaning we had all these branches call "Blahblahblah_Carls_Branch" and zero history since all the files were added as new. Horrible system, at least until we got few CM guys tending the repository, then things got better. SVN is a great tool, no need to replace it. – Juliet Apr 21 '11 at 15:48
  • 2
    I find Agent SVN works very well with Visual Studio. – mrsheen Feb 24 '12 at 03:45

5 Answers5

4

Agent SVN works well for me. It integrates nicely with Visual Studio.

Blake7
  • 2,087
  • 1
  • 16
  • 8
2

Can anyone recommend a better/more intuitive setup for version control?

Better? Yes. More intuitive? That's debatable. Look into distributed version control software, namely Mercurial or Git. Both have freely available plugins to integrate with Visual Studio. And if you can manage spending a little money, I've heard very good things about Fog Creek's Kiln.

As for your issues with SVN, I have a couple tips. The first is to make sure you keep everyone synced on the same version of the product. It tends to update frequently, and so this can be tricky, as you also don't want to fall too far behind the current version. The second is that we used to have big problems with Tortoise trying to cache icon overlays on mapped network drives. There is an option you can turn off somewhere that suddenly made things way more stable. But that was at my last job, and I don't remember the exact setting any more.

Joel Coehoorn
  • 362,140
  • 107
  • 528
  • 764
2

SVN is about as simple as version control systems get. Problems should only arise when dealing with merging operations...those can be tricky.

If you don't address the "human factors" it won't matter which version control system you use, you will always be the helpdesk. To address these kinds of problems, you typically need to:

  • Set up a wiki with common "recipes" for version control tasks.
  • Include a workflow diagram for how changes are made to your code (for those who don't like to read).
  • Host a training session that is specifically designed for your users (use the wiki material).
  • When helping someone with a problem, be sure to make them perform the actual fix. Don't just do it for them, talk them through it instead.
  • Make a point of directing users to product documentation when helping them.

Introducing a new version control system into any organization should include the items I listed. I realize it is extra work for those who get it done, but it does save you from long "support" hours down the road.

Tim Henigan
  • 55,120
  • 11
  • 81
  • 76
1

I think you already gave the answer in your question - sort out the "human factors" by providing appropriate training. Version control for software development doesn't get much simpler than SVN, so from the way your question is phrased, my guess would be that said human factors are just going to find other ways of making your life interesting.

Timo Geusch
  • 23,267
  • 4
  • 48
  • 70
1

if you have issues with your repository getting screwed (like committing on tags, wrong commit messages...), one of the easiest way is to play it the hard way : put hooks on the server to enforce policies. You can have a look in official documentation.

Basically, this is an easy way to enforce naming / formatting and avoid a lot of human issues (committing on tags, messing with externals...)

Bruce
  • 6,984
  • 1
  • 23
  • 41