Is IDE integration *really* useful for a DVCS?
Specifically, for Visual Studio 2008 (or 20开发者_如何学运维10) and Mercurial, but generalize if desired.
While I don't use Visual Studio, I have used many IDEs over the years and never felt that any version control integration was truly worth the time and effort. I have always felt more comfortable managing my version control from the command line as opposed to any GUI, integrated or otherwise.
IDE integration is always nice; that way you can conveniently check in changes as you make (and test) them, which encourages you to check in early and often.
For a start it is undoubtly useful for people who are commandline-phobic.
Then it depends how confident you are at the command line and how powerful your command line "shell" is. I'm working on a 200KLOC project that was switched quite some time ago from SVN to Mercurial.
I'm doing everything from the command line: I've got shells one shortcut away from my IDE and when I'm in a directory with a Mercurial repository I get a nice custom command prompt showing me the number of heads, the status of the repo, etc. For a great many things a command line and the way all the (text) utilities can be combined is much more powerful and versatile than what any GUI developer can come up with and it's exactly the same when working with (d)VCSes.
Then other developers on the same project prefer to use a Mercurial plugin for their IDE.
And then some other developers use both: GUI for some Mercurial things and command line for others.
I think that the really useful thing is to have the choice between both options, so that every developer can use what he's more familiar with and even both if he wishes to do so.
精彩评论