I remember 2 events in SVN history: TortoiseSVN got usable and VisualSVN got usable.
The result of the first: "We will never ever want to use SVN with command line". The result of the second: "We will never ever use SVN & MSVS without VisualSVN"
please understand this correct - we do use SVN command line if we need something that can not be accomplished with Tortoise and we do use Tortoise if something we need is not available from MSVS. But otherwise (99.9% of the time) all you need is right at your hand in the IDE.
Now I do understand and like the benefits of distributed source control, but there is simply no way I'm going to hunt files renamed in the IDE and executing manually hg rename in order not to loose history ("delete + create new" instead of "rename" = no history). Nor I consider blame or file revert to be an action that can not be executed directly on file selected in solution explorer or open for editing. With VisualSVN all of that, and much more, just works!
Conceptual benefits of DSCM are great, but they are no good if simple, daily used features are not available from the IDE!
The question: is there a distributed source control with plug-in that integrates in to MSVS as smooth as VisualSVN does? Git Extensions and VisualHg are no where close to that point at the moment and VisualSVN team refuses to create VisualGit with:
P.S. A must from IDE:
Not much is it?
UPDATE:
1) Tested HgSccPackage yesterday. It sure has more needed features available right from IDE, and they do respect current context i.e. selected/open file etc. Unfortunately it's solution tree status currently is buggy and does not support folder status.
2) Git Source Control Provider mentioned in a reply same as VisualHG lacks at least 2 things:
3) Charles Bailey pointed out, that git handles renames anyway. Yep, it does. No need for any of IDE support here (Not sure about mercurial). So git MSVS support only lacks good contextual, one click actions and proper tree status support (well there is also a yellow line, but lets say it's very nice to have, but not a must at the moment).
I've found VS integration for Git pointless. The only time you need to interact with Git is when you want to stage, commit and push to the remote repository.
This is done when you are finished coding and the code compiles and passes tests etc ... It is at this point I use git via the command line or TortiseGit.
I like how the Git work flow, allows me to work without knowing there is source control, and only comes into play when I need to share my work, or commit at a safe point.
We've been using Git and TortiseGit at my company for a few months now, and even the VisualSVN users don't miss it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With