Version control on Visual Studio SSIS project - visual-studio

I am working on a visual studio integration service project (SSIS).
The edition of Visual Studio is Community Edition
What i want to do is to manage versioning (like source control for code)
I have tried to work with git. It works fine, i can commit changes.
But Integration Services Projects are not made of code: They are made with visual components.
I would like for example to run a "diff" command between 2 versions and show me clearly which components has changed between 2 revisions.
Git client is embedded in Visual Studio Community Edition but i can not run this kind of "diff".
Is there a way to do that with TFVC for example or another tool ?
Thanks

There is a tool called BIDS Helper - BI Developer Extensions which is a Visual Studio extension. Among its numerous features is a "smart diff" of SSIS files. It cleanses two SSIS files from its numerous generation GUIDs etc and compares component configuration.
Downside - you have to prepare two files yourself, the BIDS Helper is not integrated into Git or any other Source control client.

Related

TFS Windows Explorer Integration - Getting version history outside of VS

I worked for year using CVS source control with Windows Explorer integration using TortoiseCVS which enabled me to view the history of my files in a graphical way and allow me to compare any 2 versions of the file without the need to open IDEs.
Lately I started working in a new place that uses TFS which require me to open Visual Studio every time I want to see the file history.
It would be great to have this level of integration between TFS and Windows Explorer. I wonder if any third party has developed such functionality?
Currently I use C# with Visual Studio 2013.
This is what I see when I choose Revision Graph:
Shell integration can be installed as part of the Visual Studio Power Tools for Team Foundation Server 2013. Make sure you check the "Windows Shell Extensions" option.
To see the revision graph, I am afraid you still need to open Visual Studio and use the Track Changeset feature which seems the closest as far as I can tell.
That and the "Incoming Changes" codelens that was added to Visual Studio 2013 Ultimate and which is going to be part of Visual Studio 2015 Professional and up.

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.

Can I run TFS automated builds using both VS2010 and VS2012?

We currently use TFS 2010 and have numerous build definitions for our various version of our software. We want to use VS2012 for our next version(still using TFS 2010) so is it possible to have both versions of VS on a build controller and will the build process know which version of VS to use or will we need one build controller for VS2010 and one for VS2012? Also I have custom build templates will that present any issues? Then what happens when we upgrade to TFS 2012? will we be able to run automated builds using both VS2010 and VS2012??
In general - yes. Actually Visual Studio doesn't build anything. It's the underlying MSBuild engine that handles the build tasks.
Furthermore, you can setup a build machine without Visual Studio at all, provided that your project don't hold direct references to Visual Studio references paths (e.g. C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies). If there are such references you can copy them to your 3rd party\lib directory in the source control and have the projects refer to that directory as file references.
Other notes:
But Visual Studio will hardly be your biggest hindrance. It's
multi-targeting .NET that will require some extra caffeine :)
The build templates will work as long as you satisfy their custom
references (GAC can used for that matter)
A build controller can be registered with one server at a time
Use a build server for each target framework\VS version

migrating VS project from 2005 to 2008

I have a visual studio project that was originally built with Visual Studio 2005 Professional. It makes use of some features like crystal reports and building MSI files that are no available in the freely available Visual Studio 2008. I lost my 2005 license so I opted to download the free 2008 edition, and I migrated the project. Predictably, it tells me that certain parts of the project could not be migrated, but it does allow me to work with the other parts (which is totally fine with me). The problem is, because the migration "failed" it wants me to migrate the project every single time I try to open the project.
Can someone show me the break statement for this loop?
Hope this helps Don't sweat migrating legacy .NET projects to Visual Studio 2008
Here is some information to try even doesn't help.
Make sure you open the converted project file.

Accessing Files in Team Foundation Server Version Control Without Visual Studio

How can I access files held in TFS source control without installation of Visual Studio?
You can check out the Team Explorer Everywhere as an alternative way to get at your Team Foundation source code.
The actual source code is stored in a SQL Server database that the Team Foundation Server installs.
On Windows, the Team Explorer installation (included with the TFS install) will install enough of Visual Studio to access TFS. It also installs the command line tool (tf.exe) which can be used to perform most operations without needing to start Visual Studio.
Installing the TFS PowerToys will optionally add a PowerSehll module that includes cmdlets for most version control operations, and integrates nicely into PowerShell.
On other OSs look at Team Explorer Everywhere (as marc_s has already answered).

Resources