Problem migrating project with branches TFS 2005 to 2008

Oct 28, 2008 at 11:03 AM
Hi,
I'm trying to use this tool in order to migrate my project from TFS 2005, to TFS 2008.
My project isn't very complex, however it has some labels and branches.

I've tried earlier version of this tool, and now trying to use current v1.1. However in each case I have problem migrating source control items. I've tried different scenarios with separately migrating subfolders, migrating everything etc. I can migrate successfully all items which are not branched.

Unfortunately I have problem migrating branched items, last error I have is:

Microsoft.TeamFoundation.VersionControl.Client.CheckinException: TF10141: No files checked in: resolve the conflicts and try again.

Anyone have idea how to solve this and any workaround for this. It is very essential to migrate my project and right now only solution is to use such tool.
Jan 12, 2009 at 5:18 PM
I'm running in the exact same issue.  I've tried migrating a test project with some branches i created in it (as a test) and that worked fine. However, when trying to migrate a non-test project (one that DEVs are actually working on) i get this error. I'm still trying to resolve it, but am stuck for now.
Mar 3, 2009 at 6:16 PM
I am trying to migrate from TFS2005 to 2008 and have run the application from both servers with the same results, it produces a message about in the migration activity window about session had been aborted. Ideas?
Developer
Mar 3, 2009 at 6:28 PM
Hi, Dquince,

Do you have the log file for the aborted migration? Please send us the zipped log file for further investigation.

Thanks,
Pei
Mar 3, 2009 at 6:31 PM
Pei,
Can you let me know where to look for the log file?
Thanks,
Devin
Developer
Mar 3, 2009 at 6:39 PM
Devin,

Suppose you install the migration tools to the default location. Under folder 
'%ProgramFiles%\Microsoft Team Foundation Server Migration Tools\TFS to TFS Migration Tool', you will see two configuration files. 
TfsMigrationWindowsServiceHost.exe.config and TfsToTfsMigrationToolUI.exe.config.
The trace log file paths are specified in these 2 config files. By default, they are 
'%ProgramFiles%\Microsoft Team Foundation Server Migration Tools\TFS to TFS Migration Tool\TfsToTfsMigrationTool-trace.txt'
and 'C:\temp\TfsToTfsMigrationTool-trace.txt'

Thanks,
Pei
Mar 3, 2009 at 6:53 PM
I found the file, but how do I send the file?
Developer
Mar 3, 2009 at 7:10 PM
Please send email to tfstotfs@microsoft.com

Thanks,
Pei
Developer
Mar 3, 2009 at 7:32 PM
Devin,

We've received your email with the log file. Here is the exception that caused the problem in your migration:
The branch source $/OnDemand/Dev/Source/Code of item $/OnDemand/JanR1/Source/Code is not mapped in session VCSession_2009_03_03_12_45_58_254

Basically, the item $/OnDemand/Dev/Source/Code is not mapped in your migration session. It is needed as  $/OnDemand/JanR1/Source/Code is branched from this path.

Is it possible for you to add the branch source path into your mapping and restart your migration?

Thanks,
Pei

Mar 3, 2009 at 8:26 PM
Pei,
I made my paths the following running the tool from my 2008 server with 2005 as the source.
Source: server /Ondemand/Janr1/Source/Code
destination: Server/Ondemand/Janr/Source/Code
The branch source $/OnDemand/Dev/Source/Code of item $/OnDemand/JanR1/Source/Code is not mapped in session VCSession_2009_03_03_15_16_49_673.

Where is it getting the dev branch other than that is the parent of the janr1 branch?
Thanks for all the help!
Developer
Mar 3, 2009 at 8:36 PM
If you use the Team Explorer, right click the item $/OnDemand/JanR1/Source/Code on your source server and select 'Properties', click the 'Branches' tab, you will see this item is branched from $/OnDemand/Dev/Source/Code in changeset 12411.

When the migration tool tries to migrate this branch change to your target server, it finds out that the branch-from-path $/OnDemand/Dev/Source/Code is not mapped. So the migration tool abort and throw this exception.

Thanks,
Pei
Mar 3, 2009 at 9:18 PM
I think I understand and I do not need that actual branch. I was just using it as a test. One thing I have noticed is that the tool does not appear to be pulling changesets over that do not have comments. Is this expected? Also, I tried updating a CS with a comment and rerunning the migration and it is not showing up in my migration?
Thanks again,
Devin
Mar 4, 2009 at 1:00 PM
It is me again. I am trying to migrate my entire project over due to the issues I am seeing with the branches, but now I am getting this in the log:
TF10128: The path E:\TfsMigrtData\Source2009_03_03_16_54_54_200\OnDemand\Main\Source\Code\Integration\DebitCardService\EB\FileEx\Lighthouse1.DebitCardService.EB.FileEx.TestProject\TestData\DailyBalance_FailedMessage_Test5\ResponseFile Interface Specification_Example v3.0_TPA001686.log contains more than the allowed 259 characters. Type or select a shorter path.
Will this prevent the migration from happening?
Thanks,
Devin


Developer
Mar 4, 2009 at 3:12 PM
Devin,

Path too long is a problem that will block your migration.

There is a manual work-around for this issue.
In your migration tools folder '%ProgramFiles%\Microsoft Team Foundation Server Migration Tools\TFS to TFS Migration Tool' there will be a migration configuration file for your session.
By default, the configuration file name is TfsToTfsMigrationToolConfig.xml. You can close your migration tool UI and then edit this file.
Change <WorkspaceRoot>xxx</WorkspaceRoot> of both source and target system to a short name instead of the default long name. For example, c:\a

Note these 2 root folder needs to be unique, and the migration tool runner and migration tool service account should have read/write permission.

After the change, you can restart the migration tool UI and your migration should resume successfully.

Thanks,
Pei
Mar 4, 2009 at 7:20 PM
Pei,
Thanks, I will try this for the path problem. Did you see my issue with the missing change sets that did not come over from the migration due to what looks like no comments?
Thanks,
Devin
Mar 4, 2009 at 7:52 PM
I look in the file you mentioned and I see this:
<Tfs server="lh1-demon">
          <Workspace>TFS2TFSSource_2009_03_03_16_54_54_200</Workspace>
          <WorkspaceRoot>E:\TfsMigrtData\Source2009_03_03_16_54_54_200</WorkspaceRoot>
        </Tfs>
        <Source>
          <Tfs server="lh1tfs">
            <Workspace>TFS2TFSDest_2009_03_03_16_54_54_200</Workspace>
            <WorkspaceRoot>E:\TfsMigrtData\Dest2009_03_03_16_54_54_200</WorkspaceRoot>
          </Tfs>

Sorry, but I am not sure what to change this too. I tried this:
      <Tfs server="lh1-demon">
          <Workspace>TFS2TFSSource_2009_03_03_16_54_54_200</Workspace>
          <WorkspaceRoot>E:\TfsMigrtData\Source</WorkspaceRoot>
        </Tfs>
        <Source>
          <Tfs server="lh1tfs">
            <Workspace>TFS2TFSDest_2009_03_03_16_54_54_200</Workspace>
            <WorkspaceRoot>E:\TfsMigrtData\Dest</WorkspaceRoot>
          </Tfs>
and now I am getting this:
TfsMigrationWindowsServiceHost.exe Warning: 0 : The request failed with HTTP status 503: TF30059: Fatal error while initializing web service.


Developer
Mar 4, 2009 at 9:12 PM
1. The change is fine so far, unless you have an even longer path to be migrated. Change to E:\a, E:\b is safer.
2. For TF30059, you may have a server connection problem, chech your TFS server status.
3. The migration toolkit shouldn't skip changesets with empty comments. There may be other problem if you are sure the changeset is missing.
Mar 5, 2009 at 3:13 PM
Sorry if I am seeming like an idiot, but no matter what I do I am getting errors with these changes. I have reverted back to the original settings and am trying, but I am wondering how I can just get 2 child branches and not the whole project? Here is the info from my config file;
 <VC>
    <Settings />
    <Sessions>
      <Session id="VCSession_2009_03_05_09_56_59_741" provider="TFSProvider">
        <Settings />
        <Mappings>
          <Mapping src="$/test/Main" tgt="$/OnDemand/Main" />
        </Mappings>
        <Tfs server="lh1-demon">
          <Workspace>TFS2TFSSource_2009_03_05_09_56_59_741</Workspace>
          <WorkspaceRoot>E:\TfsMigrtData\Source2009_03_05_09_56_59_741</WorkspaceRoot>
        </Tfs>
        <Source>
          <Tfs server="lh1tfs">
            <Workspace>TFS2TFSDest_2009_03_05_09_56_59_741</Workspace>
            <WorkspaceRoot>E:\TfsMigrtData\Dest2009_03_05_09_56_59_741</WorkspaceRoot>
          </Tfs>
        </Source>
        <EventSinks />
      </Session>
    </Sessions>

I am confused because I am trying to just migrate the parent branch and still getting errors about a child branch or do I have to all the branches at once due to their relationship?
TfsMigrationWindowsServiceHost.exe Information: 0 : Microsoft.TeamFoundation.Migration.Toolkit.VersionControlMigrationException: The merge source $/OnDemand/Dev/Source/Code/Lighthouse1.ParticipantService/Lighthouse1.ParticipantService.sln of item $/OnDemand/Main/Source/Code/Lighthouse1.ParticipantService/Lighthouse1.ParticipantService.sln is not mapped in session VCSession_2009_03_05_09_56_59_741.
Thanks for all the help,
Devin