Team Foundation Server: does TFS do the auto merge or the local merge tool? - version-control

We're assessing whether to buy either the Standard or Professional version of Araxis merge. The Standard version has no auto merge, but this won't matter if TFS does that for us. But does it??

TFS does support auto-merge and, unfortunately, there's no extensibility point that would let you plug-in Araxis' auto-merge functionality (which, to be honest, is probably better than the auto-merge we shipped in TFS 2010). We do have improvements to our auto-merge coming in TFS 11.

Related

How can I set up a code review process to my remote peers before checking in to TFS?

My development environment is set up behind a corporate proxy through remote VMs. We uses Visual Studio as the main platform for our code developement , so we had no issue with code review process as Team Foundation Server have this feature.
However recently, we switch to eclipse while still maintaining the projects in TFS. Eclipse have TFS plugin which is good as we can continue on from our previous track without much effort. The only thing missing is the code review.
So, is there anyone who worked using TFS and eclipse in offline mode behind a corporate proxy, have an alternative way to do code review just like visual studio + TFS.
It's based on which version control system your team are using.
If you are using GIT as source control.
For now, the Team Foundation Server plug-in for Eclipse (Team Explorer Everywhere) supports pull requests to review code and collaborate with members of your team.
Collaborate
Work and code together
Use pull requests to review code and collaborate with members of your
team. Triage and track comments at each stage of the work to ensure no
feedback gets lost. Finally, configure merge, build, and review
policies for your Git branches and stay up-to-date with alerts.
Source: Team Explorer Everywhere
If you are using TFVC as source control.
There is no this function in the plug-in directly. You may need to use 3-party code-review plugins to achieve it. Such as SonarLint, Checkstyle Plug-in...
If you want to enforce Code review before any checkin in TFS server. You may need to use check-in policies which can evaluate whether the pending changes meet the validation requirements before they can be checked in to the server. So, if the code review through Sonar can be called programmatically, then you can build a custom check-in policy that calls Sonar inside the Evaluate method.

Does OpsHub handle branches when migrating from TFS to Visual Studio Online?

I am planning to migrate TFS projects to VSO in the next week or two using the Ops Hub Utility. I wanted to ask if anyone has experience of this and can tell me if branches will still work after the migration? Branches tend to code from one Team Project branched in to a different Team Project. All Team Projects will be migrated together.
Yes, OpsHub support "Branch" during the migration. See the "Functionalities Supported" instruction from OpsHub for details:
http://www.opshub.com/main/index.php/products/vsomigrationutility
Support for following change type: add, edit, rename, delete, branch,
merge, and type.
Yes, branches across projects are supported by our utility. You will have to select all the projects in question to retain the branch-merge relationship in the VSO. As long as all of them are migrated, the relationship will be maintained.

I don't understand the usage of the TFS branching tool

I'm evaluating tools that helps to manage branch for my team. We are working on a commercial product, so the tools must be chosen carefully to handle multiple releases, potential hotfix on older versions, etc.
Basically, what I want is to reach what git-flow allows.
But because we are already using TFS (2012 today, but 2013 upgrade in the pipe) with Visual Studio 2012 (but we didn't use branches before), I'd like to "stick" to a full MS product line.
Then I was looking for guidance, and I found this software. I've seen the short webcast Quick tour of the TFS Branch Tool VS Extension on channel9 that demonstrate the tool. But it only covers the creation of the initial structure. What about day to day work?
Let's say I've finished working on a feature or a hotfix. How can I guide the developer to merge to the correct branch? How can I have a easy to read view of the work?
The tools said "automate branching task in the ALM Rangers branching guidance"... but I don't see any menu that can do that. The only thing I see is the "Create initial structure" menu.
Did I miss something? Is there any other resource that can help me?
I like GIT... I believe in its strong branching features. But I feel the git experience in VS 2012 is terrible... so I'd like to give a chance to TFS.
As my team (including me) is not mature in managing branching, I must keep things as easy as possible, so any advise is welcome.
In TFS 2013 you have the choice of 2 types of source control repositories: traditional TFS (TFVC) or Git. You can use a fully-featured Git repository hosted in TFS that gives you all the other goodness that comes with TFS. You can use any git client tools that you prefer to connect and work with the TFS-Git repository (including Microsofts new git tooling inside VS - but that's still a work in progress). Then you can do any git workflow you like, such as git-flow.
More info on Git in TFS here: http://blogs.msdn.com/b/bharry/archive/2013/01/30/git-init-vs.aspx
Alternatively, if you stick with TFSVC, you need to educate yourself on branching workflows that are supported (TFVC is more restrictive than Git on what workflows are supported, but you can definitely achieve something like git-flow). The best source of knowledge for this is probably the ALM Rangers Branching Guidance: http://vsarbranchingguide.codeplex.com/
Note: The tool you linked only helps with creating the initial branch structure. The day to day work is done using the out of the box source control and branch/merge tooling in Visual Studio.

How to merge source code from Vault to TFS 2008

I am looking into merging our source control provider and bug tracking software to Team Foundation Server 2008. We currently have SourceGear Vault as our source control provider and OnTime for our bug tracking software. Both currently meet our needs however as we are growing it seems that TFS is a more likely candidate for our company. It would have been nice if Microsoft had developed a merge tool so that we could get all of our source code into this new system including all the history.
As of now I can get all of our bug tracking items into the system through a csv import and I can also get the latest version of the source code into the system.
Is there an easy way or a toolkit that can be used in merging all of our source code with history from SourceGear Vault to TFS 2008?
Have a look at the TFS Migration and Syncronization toolkit. This is an open source project developed by Microsoft for people doing this type of thing. That said I usually recommend keeping the old system around for the history rather than importing as people usually have a better experience that way rather than going through the pain of import.

Is it possible to implement pre-tested commits in TFS?

I'm intrigued by the idea in TeamCity of pre-testing commits (i.e. verifying they don't break the build before allowing check-in to occur) and I'm wondering if there is any way to implement this in TFS. It looks like TeamCity can interface to TFS version control as a backing store but of course I'd prefer a free solution.
In TFS there is the notion of check-in policies where you can execute code on the client and that can validate check-ins before allowing them to occur. However - what you are after sounds more like the notion of a "Gated Check-in" where a build is attempted on a central build server before the check-in is committed to the main code base. Take a look at the BuddyBuild project on CodePlex to add that functionality in the current versions of TFS.
In TFS 2010, gated check-in builds will be a feature out of the box.