views:

780

answers:

1

I'm trying to set up a new Windows computer with Visual Studio 2008 to work on a Sourceforge project I maintain. I'd like to use a distributed version control system (tried SVN, didn't like it).

I've used git and mercurial before on UNIX, but I'm having no luck finding a quality plugin that integrates in Visual Studio 2008 and allows me to work on my Sourceforge code.

Can anyone provide some suggestions on how to progress?

Should I just use Eclipse instead?

+3  A: 

I've been using Mercurial with VS 2008 for a while now and have found that a combination of TortoiseHg and an open command prompt solves most issues. Prior to Mercurial, we used Microsoft Visual Source Safe (VSS) with Visual Studio integration. Even with the plugin, you still had to go into VSS to create projects and do some project management stuff, so you still had to know how to use the source control tools outside of the IDE. After the change, I even toyed with the idea of writing a Mercurial plugin for VS 2008 myself. Before I could do that, I had to familiarize myself with Mercurial. While doing that, I found that it took a little while to get used to doing source control outside of the IDE, but I now prefer the command line and TortoiseHg tools to the VSS IDE plugin.

However, there do seem to be a couple plugins for Visual Studio available for Mercurial:

  1. VisualHG
  2. hgscc

I haven't tested them, so I can't give you an opinion on their usefulness.

Having never looked at the Eclipse plugin for Mercurial, I can't say if it is better than the command line method I use.

bsruth
I don't have a problem using the command line, it just seems kind of pointless to have a plug in and a command line. If I was going to still have to use the command line, I might as well just use only the command line. :\
samoz
I guess that's the point I was trying to make. Don't use a plugin, use the command line.
bsruth
AlanKley
You can exclude specific files and directories from the repository using an hgignore file: http://mercurial.selenic.com/wiki/.hgignore This means that when you do an hg status or hg commit from the command line, all items in the hgignore are not part of that operation. I use it for the Debug and Release folder as well as the SUO file among many other things.
bsruth