Visual Studio, Distributed Version Control, and Sourceforge - visual-studio

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?

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:
VisualHG
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.

Related

Is TFS available in Visual Studio for Mac

I haven’t find TFS in Visual Studio for mac, Is any alternative tools available for that.
TFS is a rather broad term and describes a whole suite of solutions. I’m assuming that you mean the version control section for my answer.
There is no support for TFVC, which is the older versioning control system that used to be default in TFS.
Since some time now, TFS and VSTS (basically the cloud hosted version of TFS) have switched to Git. Git is supported from Visual Studio for Mac as well as a lot of other tools of course.
If you still want to use TFVC, I have only found one option which isn't pretty. I installed Eclipse (the IDE for Java) which has a plugin for the TFVC version control. It looks and works pretty similar to how it looks in Visual Studio for Windows. It has some quirks and I would be surprised if it is still actively maintained, so use with caution and if you have the possibility look into switching to Git.
Edit though they seem to be working on it! If you check out the linked blog post you will see that support is in the works and I think there is a preview you can download today.
For Visual Studio Mac, TFS is supported for now. There has been a uservocie, you can vote up and monitor it.
TFS Version Control
https://visualstudio.uservoice.com/forums/563332-visual-studio-for-mac/suggestions/17136163-tfs-version-control
However, this is only a preview feature as you can see the comment from PM:
I’m happy to say that our first preview of this feature is now
available – check out the announcement blog post.
https://blogs.msdn.microsoft.com/visualstudio/2018/05/07/visual-studio-for-mac-version-7-5-and-beyond/
I’ll continue to share out updates here as we make updates to the
preview.
Jordan Program Manager, Visual Studio for Mac
According to the comment below the blog post, it seems not stable for now. If you want a more stably solution of using TFS source control on Mac, you could try to use Visual Studio Code, which is more of a fast, lightweight code editor.
With the help of Visual Studio Team Services extension on Visual Studio Code, it allows you to connect to Team Services and Team Foundation Server and provides support for both Team Foundation Version Control (TFVC) and GIT. More details can be found at Connect VS code with TFS on mac
As of VS 2019 for MAC, support for preview as well has been dropped.
Caution
The preview TFVC extension for Visual Studio for Mac is no longer supported in Visual Studio 2019 for Mac.
As per this doc, it's recommended to use GIT for version control. Otherwise, if there's no option then to use TFS on macOS several options are also provided in the link.
Option 1. Use Visual Studio Code and the Azure Repos extension, for a
graphical UI
Option 2. Connect to your repo using the Team Explorer Everywhere Command Line Client (TEE-CLC)
Also, there's eclipse plugin available for TFVC on mac

Should a TFVC project be used with non-.NET projects?

It seems, based on what I'm seeing in Team Explorer, the TFVC VCS is built to support .NET applications.
Can it reasonably support other languages as well (PHP, Ruby, Java, Python, etc)? By reasonably, I mean, not being tied to an IDE like Eclipse or command-line. That is, using a GUI client that's built to support non-.NET projects as well. It seems Team Explorer, the client for TFS does not think so:
Using Team Explorer without starting a new project or solution
Sure, TFVC is the version control part that is stored on a Team Foundation Server. Team Explorer is the version control provider that integrates directly into Visual Studio and offers a high level of integration as well. You can also make use of the Source Control explorer functionality of Team explorer without having to load a Visual studio Solution. All you need is to map a source control folder to a local folder to start working.
This way you are not making use of any Project type in Visual Studio, but you're solely using the TFS client built into the Visual Studio Shell. You can do any operation using the Source control Explorer as if it were a stand-alone client.
Extending Visual Studio to support extra languages
One way to make use of TFS for other languages is to extend visual Studio to support the langauges you want. There are all kinds of plugins for Visual Studio to support: Ruby, Python and PHP.
Eclipse, Cross Platform and 3rd party
There is direct integration available for Eclipse using Team Explorer Everywhere, which can cover the needs of a Java development team. The development studio's from JetBrains also offer a native TFVC client as part of the product.
Commandline & windows explorer integration
After installing Team Explorer or Team Explorer Everywhere you'll also get a command line client (tf) that allows you to do source control operations from the commandline. You don't need to ever open Team Explorer after setting up your TFS server connection. Team Explorer Everywhere ships with a Java based version of that same client, which works on Mac and Linux as well.
You'll be able to use the Tortoise-like Windows Explorer integration offered by the Team Foundation Server Power Tools, so you'll be able to check-in files directly from Windows.
SourceSafe compatibility
There's the MSSCCI (pronounced mis-key) provider that allows applications to use the old "SourceSafe" API to connect to TFS. This includes many, many IDE's and tools.
Almost all of these solutions at least require the installation of Team Explorer or Team Explorer Everywhere, but as you can tell, they're not the only way to access TFS.
Bridges
And if that doesn't work, there are a few tricks you could apply as well. There's a Subversion bridge for TFS that allows TFS to mimic a Subversion repository and you can use git-tf to create a local git repository that can push to TFS.
Git support in TFS 2013 and VSO
And finally TFS 2013 and Visual Studio Online support hosting a Git repository instead of a TFVC repo. You can use any Git compatible client (inclucing Visual studio 2012 and newer) such as Eclipse (eGit) or XCode to connect to TFS. For cross platform TFS usage, this is by far the way with the broadest support as it comes to 3rd party products.

What version of Visual Studio 2008... Does "Visual Studio Tools for Applications 2.0" INCLUDES vs2008?

I have Visual Studio 2010 Professional installed. But for a client I do need Visual Studio 2008 (to avoid some upgrades that are note compatible with vs2010)
It is my job's notebook, so everything must be original and legal. And both, the client and my boss want to avoid licences costs. ANYWAY... it seems that my notebook already has some version of vs2008, I need to know if it is too muche reduced or if it will work to develop.
I can open a vs2008 that seems pretty much the same, also the about screen. But at "Add or Remove Programs" I just only have "Visual Studio Tools for Applications 2.0"
Finnaly when I run the app, it works, but the code is not recognize, it is shown as it is notepad.
Here are some screenshots that may help... THANKS ALL!!
VSTA is sort of a replacement for VBA, i.e. you can use VS to write .NET code to extend and automate thrid-party applications that are designed to support it. It appears that that is the only VS 2008 component that you have installed so you cannot open VB or C# projects or any of that stuff. If you want a legal copy of VS 2008 that you don't have to pay for then you'll need to look at an Express edition, although that may lack some features that you need. 2008 Express editions are hard to come by now too, as they are not offered for download any more by Microsoft.
What are these non-upgradeable parts of your project?

How do I select Visual SVN as my source control provider

I am using Visual Studio Ultimate which come with TFS. However I am using Visual SVN as my source control.
I have installed VisualSVN server and the Visual Studio plug in.
What should I do to switch from TFS to Visual SVN.
When I go do Tools/Options/Source Control/Plug-in selection, I have the choice between "None" and TFS.
VisualSVN automatically "just works" when you open a SVN working copy - you don't need to mess with Visual Studio's SCC plugin settings. So you need to look at migrating your source code code into the SVN repository first. When you've done this, just check it out, open the solution and you're done. (You may want to remove all the "SccProjectName/SccProvider..." garbage from your project files beforehand)
To migrate your repository history from TFS to SVN, there's the TFS2SVN project (I've not used it though).
If you're not stuck on VisualSVN, try AnkhSVN. We use that here, and had no issues in getting it to work with VisualStudio 2010.
AnkhSVN is an open source plugin, so there's no need to pay for a license.
If VisualSVN is like AnkhSVN, you need to in tall VisualStudio first, then AnkhSVN. Then go into VisualStudio and select SVN in the Source Control Plug-in selection.

TFS and VS 2010

I attempted to open a solution today at my new job and it said I need to convert it because it was made in an earlier version of Visual Studio. It also said that the solution would automatically be checked out in source control.
Obviously I do not want to do anything that messes anything up. Is it possible to just change my target framework in Visual Studio and not have to deal with any conversion stuff, or should I just install Visual Studio 2008?
If ANY developers are still using VS 2008, do not upgrade the solution. You can create a new solution and have it sit "side by side" or you can branch the code. But if you overwrite the solution with a VS 2010 solution, they will not be able to work on it again.
It will break compatibility with Visual Studio 2008. Keep your company's solutions the same format as you get them unless directed to change them.
You can change your target framework, but that will not stop the conversion. The issue is with the project and solution files. The are XML based MSBUILD. What is happening is an upgrade of MSBUILD, not the .NET framework.
You should install VS2008 and use it until all possible team members are upgraded to VS2010. Once you upgrade, members using VS2008 will not be able to open the solution. There are some was to hack around MSBUILD upgrades, but I don't recommend them.

Resources