更新 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 / 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>
答案 0 :(得分:0)
如果你的服务器曾经是TFS 2005/8,你可能会遇到过去的合并删除从未完成的情况。
在2005/2008年,如果您在一次操作中同时进行了更新和删除,则必须执行两次签入才能完成合并。然而,用户界面告诉你这只是在2008 SP1(AFAIR)中引入的。
我一直在使用Timely Migration和TFS集成工具遇到这个问题。由于合并从未完成,因此您的代码弓依赖于(或可能确实)当前设置。在上述工具中,我将编辑传入的迁移数据,以删除已删除的挂起的知识并允许工具继续。
OpsHub工具不适用于极端情况,您可能需要OpsHub来向您展示如何使用他们的工具解决。