How can I merge/migrate TFS source code into existing Visual Studio Team System project preserving work items - tfs

We have a situation where at a point in our project's life, we needed to split off work item tracking and source control into 2 separate TFS projects, with the work items being in a VS Team Services project, and the source on-prem in TFS 2013.
The reason at the time being, we needed to grant access for our stakeholders to the product backlog, without them being on the corporate network where TFS is hosted. At the time there was concerns about security of the source code, hence the whole project was not lifted and shifted, just the backlog.
Now we're realizing some of the security concerns were not warranted, and we are missing out on the integration of ALM provided by a single project having both responsibilities, and would like to merge our source control out into the cloud-based VSTS project.
The problem is, the migration tools are overwriting the Work Items in VSTS. Is there some way we could merge, preserving that data, or any alternative to merge these two things together somehow?

I think you're looking at the Team Foundation Server Integration Tools here if you want to migrate source code history. Bear in mind that it's not going to be perfect (data time stamps will not be the same etc.).
If you can get away with it then just stick the latest code in VSTS and consider the on-prem server your archive should you need to go back. That doesn't tend to be too popular so you'll be wrestling with the integration tools. It's not the most friendly thing to use but mostly it will get the job done.
When you configure your session, you will want to choose Team Foundation Server\VersionControl.xml for your configuration. Then select a One-way-migration between your on-prem and VSTS.
You'll need to install VS 2012 or at least the Team Explorer.
Edit Coincidentally I had to do this myself so I blogged about the process here

Related

Sync 2 TFS servers?

We have 2 TFS servers, one is inside the firewall, and the other one is outside the firewall. Because of security reasons, we still need to keep it this way. But the question is: is there a way to Sync these 2 TFS servers, say at every night?
Say we have servers TFS1 and TFS2, right now, we only want to Sync from TFS1 to TFS2, not bidirectional synchronization. If possible, we want to have complete synchronization.
I searched some time, but I could not find a good solution. It seems all recommendations are for old version TFS.
Are there any solutions for the latest TFS? existing products? Or, some information about API that we can use to make a tool for this?
Thanks
There is nothing changed with sync two TFS servers for the latest TFS version. Just as Daniel and many other expert suggested:
TFS generally lives in 1 instance and 1 only. TFS is a production
environment for the development team. It doesn't make sense to have
two TFS systems and have them synchronize to make this separation.
Having your teams work on two different TFS environments at the same
time is a very strange requirement.
Source Link
The best solution in your case, negotiating with your IT team, set up a safe and stable way to allow your top Management users to connect the internal TFS. You could also set up SSL for your TFS server to improve the safety.
It will also save you a lot of time costs for maintaining two servers syncing.
If you insist on syncing two TFS servers take a look at this similar question: Sychronising work between two TFS servers
Another way is using VSTS instead of your external TFS. Microsoft has documentation on this exact scenario which can be found here: Migrate to Visual Studio Team Services : Move from Team Foundation Server (TFS) to Visual Studio Team Services (VSTS) and bring your data along.
This link also contains the download link for the migration tooling which you will want to use
Currently the following versions of TFS are supported for import:
TFS 2017 Update 3
TFS 2018
TFS 2018 Update 1

Migrate TFS Changesets

I assumed this would be easy, but I'm not finding anything on it...
I have a project in TFS 2010, which needs to be moved to a new TFS 2015 server. Apparently the project cannot simply be moved normally because it's using a different project template which is not compatible and causes errors when trying to migrate (so I'm told - I don't have any more details on this).
I'm looking for a way to bring over the changesets, keeping history, to the new server. I assumed there was some kind of "dump" where you could export the TFS changesets, then import them into the new server into an empty project - but I'm not finding that option.
TFS Integration is deprecated and apparently doesn't work for TFS2015, with no alternative listed.
I'm open to other creative options like temporarily exporting to a different version control system - for example, I've looked at SVNBridge, but I can't even get that working, let alone figure out if it would help here.
Is there a way to migrate all changesets for a given project and keep history, without migrating the entire project?
There is no default way to migrate changesets in TFS, you would need 3rd party tool, like OpsHub (some features are not free), to migrate the most commonly requested data. Check: http://www.opshub.com/products/opshub-visual-studio-migration-utility/
Or you may consider doing a upgrade from TFS 2010 to TFS 2015, which is a full data transfer. To understand factors that affect your upgrade's compexity, check the requirements and review the upgrade process.
Learn if a dry run makes sense for you, and weigh the benefits and the costs to perform a pre-production upgrade.
When you're ready to upgrade, minimize downtime with the TfsPreUpgrade tool - especially for very large TFS collection databases (> 1 TB). Follow these steps for how to upgrade TFS.

Copy Team Project with History in VSTS

I'm hoping to copy an existing team project to a new one in order to clean up the content, whilst preserving the history / allowing me to do a dry run of this task before doing it for real, without impacting those currently working on that project.
We're using VSTS (aka VSO) as our version control solution.
I've previously copied projects between TFS and VSTS using the OpsHub migration utility. I had hoped that I could copy team projects using the same tool, but it appears that this tool is locked to only allow the source to be a self-hosted Team Foundation solution; not VSTS.
Is anyone aware of how team projects can be copied within VSTS?
Suggested Duplicate: Migrating source code from TFS to VSTS
My question differs from the above as that relates to TFS to VSTS, as opposed to VSTS to VSTS as discussed in my question. The free OpsHub tool takes care of the TFS to VSTS question, but (the free version) doesn't cover the VSTS to VSTS scenario.
There is no easy way to copy team projects and all their associated artifacts. You've already found the OpsHub utility, it has a more expensive bigger brother, the Integration Manager, which is able to do what you need for a significant price per project.
Product: http://opshub.com/products/opshub-integration-manager/
Pricing: http://opshub.com/products/pricing-oim/
There are also a few open source solutions available that each fill in part of the gaps, some copy work items, other sources and others test artifacts, but there are few tools that offer a full solution.
The easiest way is to start over and migrate without history, just snapshot your current working set and keep the old data around. If that really isn't an option, prepare for a frustrating or expensive (or both) period ahead.
The commercial version of OpsHub Migration Utility also allows copying of VSTS projects from one account to another.
Product: http://opshub.com/products/opshub-visual-studio-migration-utility/
Pricing: http://opshub.com/products/pricing-ovsmu/

TFS 2010 team project Migration

Is there any way to move/migrate team projects of a Team project collection from one TFS server to another (both in TFS 2010 version). The destination Team Project collection contains a Team Project already and I want to move the source Team projects in to this particular team projects. So at the end I will have a Team Project which contains several projects in it. Is that possible? I want the history to be preserved as well.
If the above scenario is not possible, can I migrate Team projects from one server to another without going through the database backup-restore-TFS detach-attach process?
I thought of trying the TFSIntegration tool, but could see many people advised to avoid using this due to issues in it.
So if you have any information in accomplishing this, that would be great..
If you want all the history then you really only have 2 options:
TFS Integration platform - http://tfsintegration.codeplex.com/
Back up /restore the collection database - http://msdn.microsoft.com/en-us/library/dd936138.aspx#Backup
I would recommend moving the database. This sounds pretty onerous but is actually quite easy.
Good Luck!
TFS INTEGRATION PLATFORM used for integration.
A tool which helps a lot named "witAdminUi".

Setup for Team Foundation and ClearCase with TFS Integration Tool

I want to do daily migration of TFS changes to a ClearCase system. I was going to try out TFS Integration tools but I can't get any of the toolset pieces to work. What are the requirements to run this app? I have VS 2010, TFS 2010 and Sharepoint 2010 installed. The assemblies it's trying to load don't seem to be present in VS2010 and I don't if it requires VS 2008 or not. Anyone ever had this running? I'm migrating from TFS to CC. Not the other way around.
Update:
I've been using this tool to sync TFS 2010 changes back into a UCM ClearCase implementation at the client. It has been going poorly. The tool should be clearly marked as Beta or even Alpha. A peek into the code reveal around 100 TODO's and "This needs to be fixed". I have spent a good deal of time trying to iron out some of the issues and have made progress. My suggestion is before using this tool on mission critical projects, spend at least 3-4 weeks evaluating it in your environment. When it works, it works pretty well with moving changes.
I don't know much about how to access TFS2010 elements, besides "check an individual project for pre & postbuild steps either by loading the project in visual studio or manually reading the project file".
If you need Sharepoint assembly, this technote describes the requirements.
And I don't think an automatic import utility exists (from TFS2010 to ClearCase 7.1.x), as this technote mentions:
Change request (RFE) RATLC01005874 had been submitted requesting a conversion utility to export source code from Microsoft Team Foundation Version Control (TFVC) to ClearCase;
however, the decision was made by Product Management to exclude the requested feature from future upgrades and releases due to the significant architectural changes required to implement the solution.
The right approach is to manage to list the content of relevant labels for a given scope, and make a clearfsimport into a ClearCase view, with a full label applied right after it.
You don't need TFS (server), VS or SharePoint installed. You will need a SQL server for the core platform. Then you will need the various assemblies for TFS, which you can get by installing the Team Explorer component (it's on the TFS install media).
We decided to go with the TFS Integration Platform. It allows us to sync TFS work items back into ClearCase when ever we want. It provides the level of integration we needed to keep the traceability. The TFS to CC integration is bleeding edge, but it works enough for what we need. (Syncing work items and user check ins.)

Resources