Visual Studio Online Migration Utility因TF400023而失败

时间:2015-02-06 20:35:14

标签: azure-devops opshub

更新 OpsHub已发布更新其实用程序,以解决我遇到的问题。

我正在尝试使用OpsHub Visual Studio Online迁移实用程序将本地Team Foundation Server 2010迁移到Visual Studio联机。它已经成功上传了1385个6585个变更集,但仍然停留在其中一个并且不会继续。有问题的更改集的错误消息:

  

变更集ID:1417

     

OH-SCM-009:同步时发生错误。 TF400023:无法将本地工作空间与服务器进行协调。

如果我在Visual Studio中打开TFS工作区(通过浏览到O:\ w69_1),我会在弹出窗口中收到一条非常相似的错误消息:

  

错误

     

TF400023:无法与服务器协调本地工作区。

Visual Studio源代码管理控制台显示以下错误消息的十几个重复:

  

TF14060:无法删除$ / EDT / SingleProjectClient / Data项。一个或多个孩子有待更改。

浏览工作区中的挂起更改,很明显$ / EDT / SingleProjectClient / Data / AllProjects.sdf有待处理的"合并,删除"变化

"合并,删除"更改存在于内部部署基础服务器上的原始更改集中。有问题的变更集ID 1417包含以下更改:

  • $ / EDT / SingleProjectClient / Data:delete
  • $ / EDT / SingleProjectClient / Data / AllProjects.sdf:合并,删除

我试图撤消$ / EDT / SingleProjectClient / Data / AllProjects.sdf上的挂起更改,但这并没有帮助。迁移实用程序继续发出相同的错误消息(TF400023:本地工作区无法与服务器协调)。

来自OpsHubTFSService.log的堆栈跟踪

  

2015-02-06 12:16:47,834 [5] ERROR CheckinAll线程中出现错误:TF400023:本地工作区无法与服务器协调。

     

at Microsoft.TeamFoundation.VersionControl.Client.LocalDataAccessLayer。<> c__DisplayClass23.b__1c(LocalWorkspaceProperties)   wp,WorkspaceVersionTable lv,LocalPendingChangesTable pc)

     

at Microsoft.TeamFoundation.VersionControl.Client.LocalWorkspaceTransaction.Execute(AllTablesTransaction toExecute)

     

at Microsoft.TeamFoundation.VersionControl.Client.LocalDataAccessLayer.ReconcileLocalWorkspace(Workspace workspace,WebServiceLayer webServiceLayer,Boolean unscannedReconcile,Boolean reconcileMissingFromDisk,Failure []& failures,Boolean& pendingChangesUpdatedByServer)

     

at Microsoft.TeamFoundation.VersionControl.Client.WebServiceLayerLocalWorkspaces.ReconcileIfLocal(String workspaceName,String ownerName,Boolean unscannedReconcile,Boolean reconcileMissingLocalItems,Boolean skipIfAccessDenied,Boolean& reconciled)

     

at Microsoft.TeamFoundation.VersionControl.Client.WebServiceLayerLocalWorkspaces.CheckPendingChanges(String workspaceName,String ownerName,String [] serverItems)

     

at Microsoft.TeamFoundation.VersionControl.Client.Workspace.EvaluateCheckin2(CheckinEvaluationOptions options,IEnumerable`1 allChanges,IEnumerable`1 changes,String comment,CheckinNote checkinNote,WorkItemCheckinInfo [] workItemChanges)

     

在f:\ Ashish Docs \ Checkouts \ OVSMU Branch \ OpsHubV2 \ TFSWCFServiceSource \ Service \ Service \ TFSVersionControl中的Service.Adapters.TFSCheckinWorkspaceContext.EvaluateCheckIn(List`1 changesToCommit,String comment,CheckinNote checkinNote,WorkItemCheckinInfo [] workItemChanges) AdapterComponents \ TFSCheckinWorkspaceContext.cs:第2392行

     

at Service.Adapters.TFSCheckinWorkspaceContext.checkin(String comment,WorkItemCheckinInfo [] workItemChanges,List`1 otherCheckInProperties,String checkinUser)f:\ Ashish Docs \ Checkouts \ OVSMU Branch \ OpsHubV2 \ TFSWCFServiceSource \ Service \ Service \ TFSVersionControl \ AdapterComponents \ TFSCheckinWorkspaceContext.cs:第2344行

     

在Service.Adapters.TFSVCAdapter.checkIn(List`1 checkinItems,String checkinComment,String checkinUser,List`1 workitemId,List`1 otherCheckInProperties)f:\ Ashish Docs \ Checkouts \ OVSMU Branch \ OpsHubV2 \ TFSWCFServiceSource \ Service \ Service \ TFSVersionControl \ AdapterComponents \ TFSVCAdapter.cs:第123行

     

at com.opshub.tfs.test.TFSWebService。&lt;&gt; c__DisplayClass2.b__0()in f:\ Ashish Docs \ Checkouts \ OVSMU Branch \ OpsHubV2 \ TFSWCFServiceSource \ Service \ Service \ TFSWebService.cs:line 692 < / p>

1 个答案:

答案 0 :(得分:0)

如果你的服务器曾经是TFS 2005/8,你可能会遇到过去的合并删除从未完成的情况。

在2005/2008年,如果您在一次操作中同时进行了更新和删除,则必须执行两次签入才能完成合并。然而,用户界面告诉你这只是在2008 SP1(AFAIR)中引入的。

我一直在使用Timely Migration和TFS集成工具遇到这个问题。由于合并从未完成,因此您的代码弓依赖于(或可能确实)当前设置。在上述工具中,我将编辑传入的迁移数据,以删除已删除的挂起的知识并允许工具继续。

OpsHub工具不适用于极端情况,您可能需要OpsHub来向您展示如何使用他们的工具解决。