开发者

Easy-to-use svn-client alternatives for Visual Studio?

开发者 https://www.devze.com 2023-02-27 09:55 出处:网络
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

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?


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


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.


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.


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.


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...)

0

精彩评论

暂无评论...
验证码 换一张
取 消