Some projects we're working on are hosted on a TFS on visualstudio.com. However, the owner is an early adopter account that will expire soon. We already have another TFS in place (also on visualstudio.com), and now we want to migrate the code and version history from TFService A to TFService B.
I've tried using the TFS Integration Tool (http://tfsintegration.codeplex.com/) and created a configuration to migrate between the two subdomains on visualstudio.com. However, despite the tool indicating succesful migration, nothing actually changes on the destination server. I've found this question on SO:
How to copy a team project from one collection to another with TFS Integration Platform, TFS2012 to TFS2012
I have basically the same issue as the OP, but the answer does not work for me. What can I do?
Related
I found articles on GIT back up and restore but I did not find any on Microsoft TFS Scheduled backup for GIT version control.
This document describes on how TFS's traditional versioning can be scheduled for automatic back up. Configure a backup schedule and plan for Team Foundation Server
However, I did not find any link where I can read that "GIT repository is also included in schedule". I am not a TFS expert and I do not have access to TFS server to verify in person. So any help is appreciated.
The tutorial you are refer which is Scheduled Backups tool. It' a build-in tool on the Scheduled Backups page in the TFS Administration console.
It' the whole database back up not only referring to source control, but also work items, pull requests, builds, test plans or anything else that the service offers.
As a limitation, you need both an administrator for TFS and a member of the SQL Server System Administrators group.
And no need to to verify in person, it's under SQL server, when you want to use the backup, just restore the database.
If you are actually using the online VSTS . For now there is no build-in tool and got a uservoice:
Provide a backup service for Visual Studio Team Services
https://visualstudio.uservoice.com/forums/330519-visual-studio-team-services/suggestions/5339461-provide-a-backup-service-for-visual-studio-team-se
However if you just want a git repository(source code) back up, you could use some 3rd-party tool to achieve this:
We use the VSO Rest API to query our VSO account and get all the data
we need. Since in VSO you can only have one Team Project Collection,
we retrieve all the team projects of the default collection. Each of
these team projects can have multiple repositories that need to be
backed up. A folder is created for each team project and saved to a
location on disk that can be configured in the app.config. When the
team project folder is created, the task loops over each repository in
the team project and creates folders for each repository.
Source Link
You can also fork it on GitHub here. Certainly, you should also be able to use this for on-premise TFS also use the API, just need to change some part.
TFS is implemented the way to keep Git repositories in the SQL Server database, too. Thus, when you follow the instructions from the article you reference, the source code will also be included in the backup, no difference whether it is TFVC or Git.
I am not familiar with TFS, however the scenario that I will be coming across is that I will have a branch of source code stored in Visual Studio Team Services (was TFS Online) and locally I will be running TFS 2008.
Would there be any issues pulling the code from Team Services and merging with TFS 2008?
You won't be able to bind the code (solution and projects) to 2 different TFS servers. If you're using the online version of TFS what reason would you have of also trying to store the code in a local repository?
You definitely won't be able to merge the code between the different servers. TFS is a centralized version control system and merge operations need to be handled and tracked by the server.
You could theoretically Manage the code in one of the TFS servers (i.e. have the solution bound to TFS online) and manually manage the code in the other server. However TFS 2008 only supports local workspaces which means that it will make files read only if they are not explicitly checked out. This will cause you no end of pain.
Even if you did it the other way round (made the local TFS server the "master") you will almost certainly create yourself a load of problems as TFS simply isn't designed to be used this way
Also TFS 2008 is pretty ancient and unsupported.
EDIT:
The typical TFS workflow is.
Create a development branch on the server.
"Get" the code to a local folder on your dev machine (called a workspace).
"Check out" the files you need to modify from your branch or "Add" new files as needed.
You should regularly "check in" files to your branch to make sure your changes are saved on the server.
When your changes are complete then "merge" the code from the development branch back to the Main branch.
The code is stored and versioned on the server, but your changes are made on your local machine. To interact with the server you use the Team Explorer plugin in Visual Studio. Modern version of Visual Studio have Team Explorer built in.
If you're using the online version of TFS then you'll want to use Visual Studio 2012 or above.
If you're planning on Forking the code and do not plan on committing your changes back to the server, then you're probably better off using something like Git. You could use Git-tf or Git-TFS to pull changes from TFS and then that would make merging a lot easier and you could use your local Git Repo to manage your own changes
In our current setup, we have a top level TFS project and all the projects within in as separate folders with their Dev and Main branch.
To start trying VS Team Services, I am looking into migrating just a folder(Project) from TFS 2013 on-premise project to Team Services. Can I do that?
The options I am getting are to choose the project collection but not the folders within it? Is there a workaround for that.
It is not. You need to migrate everything as is.
If you want that level of control you need to use the TFS Integration Tools. They are a lot more configurable, and complicated to boot.
I would recommend that you move with only the head/tip.
I have the following TFS upgrade scenario: I'd like to change my current TFS 2010 environment to TFS 2012 - this by moving the 2010 server to a new machine with another computer name.
Therefore I simply use the backups of the TFS 2010 databases from the old server and restore them on the new server. Before starting the backup I will turn off several TFS specific services on the old machine to avoid check-ins from devs. In the meantime the developers are working in offline mode. Afterwards I'm going to upgrade the databases.
Now it's getting interesting: The TFS 2012 is up and running with the upgraded project collections and everything works smoothly, but what happens to the local workspaces which are linked to the old TFS url? Is it possible that the developers can switch their exisiting workspaces with their pending changes to the new TFS 2012 url?
If yes, how can I do that? I've already did a test installation and upgraded to 2012 successfully, but I can't find out how to bind my existing workspaces with my pending changes to the new TFS. Initially I thought that the "Change Source Control" dialog could do the trick, but everything I'm able to click in the toolbar are the "Bind/Unbind" and "Refresh" buttons...
If no, I guess I have 2 options:
All I can do is forcing everyone to check-in/shelve and create a new mapping for the new server
OR
simply keeping the old TFS name/url? (Are the pending changes still available in this case?)
Thank you in advance!
P
Workspaces are stored on the server, so when the users add the new server they should find their old workspace already setup for them. Complete with all their existing checkouts etc.
If this doesn't work for a user, they can map a new workspace to the same directory, checkout all files in the tree, then use the tfs power tools do to a uncheckout unchanged (tpft uu /noget) to only leave their changed files checked out.
I have installed and configured TFS 2010 on a Win 2008 server. I have tested the migration and everything seems o be working fine. I have one issue with the Domain move though.
I am trying to use TFSCONFIG IDENITIES /change command to map the Users in old domain to new domian, but unfortunately the new domain accounts have been added to the TFS group. Hence, I caanott use the Identities /change command.
I am still trying to figure out what needs to be done in order to sync up the accounts b/w two domains. What are my options in this situation? Can I just uninstall and re-install TFS 2010. Would that help me sync up the account names b/w two domains? Please advise
There is extensive guidance available on the different supported upgrade scenario's.
Probably the easiest way to do the upgrade is to install TFS2010 over the 2008 version and then do a domain migration. It looks like the issue you're facing is that you added the new account members, instead of migrated the old members to the new ones. I haven't been in that scenario before, you could try removing the new accounts and then migrating, or using the TFS integration tools to migrate all data for one user to another user.
If you still have a backup available, or if the TFS 2008 server is still there, I suggest re-doing the migration, however painful that may be, it will be the safest way to get everything to work again.
Finally there are the The TFS Integration Tools can be used to migrate from one TFS instance to another, they don't migrate everything, but will migrate the most important things.