TFS集成工具:版本控制到版本控制——什么都没发生



我刚刚调查了TFS集成工具,将所有源代码和历史从一个TFS服务器2010迁移到另一个,我经历了一个奇怪的行为。下面是我的动作:

  1. 本地安装TFS服务器
  2. 创建了两个项目集合,每个集合中都有一个项目(源项目和目标项目)。
  3. 用一些文件填充源项目,做了几个签出和签入。
  4. 启动TFS集成工具。
  5. 使用模板VersionControl.xml创建新配置
  6. 选择源项目作为左源,目标项目作为右源。
  7. 已开始迁移。一切都很好,我可以在进度窗口看到所有的历史记录。

这些行为的结果如下——没有任何改变。字面上。我期望目标项目的源代码控制将被来自源项目的文件填充。但这两个项目都保持原样。

我错过了什么?我对TFS集成工具有哪些误解?

下面是应用程序生成的配置:

<?xml version="1.0" encoding="utf-16"?>
<Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" UniqueId="cdf29df8-c74f-4339-b96f-7eb621c1cee1" FriendlyName="TFS to TFS Version Control">
  <Providers>
    <Provider ReferenceName="febc091f-82a2-449e-aed8-133e5896c47a" FriendlyName="TFS 2010 Migration VC Provider" />
  </Providers>
  <Addins />
  <SessionGroup CreationTime="2011-04-28T11:24:10.9503239Z" FriendlyName="TFS to TFS Version Control" SessionGroupGUID="394da96f-b8b6-4bc1-9b72-1c6234c4b9f1" Creator="<domain><user_name>" SyncIntervalInSeconds="0" SyncDurationInMinutes="0">
    <MigrationSources>
      <MigrationSource InternalUniqueId="181ddf3d-9cdb-461a-9dba-4338cf2a02f8" FriendlyName="<server_name> (VC)" ServerIdentifier="c0a0f4e4-4a37-4a89-ba23-fbd323680786" ServerUrl="http://<server_name>:8080/tfs/sourcecollection" SourceIdentifier="SourceProject" ProviderReferenceName="febc091f-82a2-449e-aed8-133e5896c47a" EndpointSystemName="TFS">
        <Settings>
          <Addins />
          <UserIdentityLookup />
          <DefaultUserIdProperty UserIdPropertyName="DisplayName" />
        </Settings>
        <CustomSettings />
        <StoredCredential />
      </MigrationSource>
      <MigrationSource InternalUniqueId="e292262f-9479-490f-b5e3-ce7e845d1468" FriendlyName="<server_name> (VC)" ServerIdentifier="f01ebcec-ea18-4933-b3fd-751740904136" ServerUrl="http://<server_name>:8080/tfs/targetcollection" SourceIdentifier="Target" ProviderReferenceName="febc091f-82a2-449e-aed8-133e5896c47a" EndpointSystemName="TFS">
        <Settings>
          <Addins />
          <UserIdentityLookup />
          <DefaultUserIdProperty UserIdPropertyName="DisplayName" />
        </Settings>
        <CustomSettings />
        <StoredCredential />
      </MigrationSource>
    </MigrationSources>
    <Sessions>
      <Session CreationTime="2011-04-28T11:24:10.9333256Z" SessionUniqueId="4aa097f3-9a01-4924-b562-384215b4ef2f" FriendlyName="Version Control Session" LeftMigrationSourceUniqueId="181ddf3d-9cdb-461a-9dba-4338cf2a02f8" RightMigrationSourceUniqueId="e292262f-9479-490f-b5e3-ce7e845d1468" SessionType="VersionControl">
        <EventSinks />
        <CustomSettings>
          <SettingXml />
          <SettingXmlSchema />
        </CustomSettings>
        <Filters>
          <FilterPair Neglect="false">
            <FilterItem MigrationSourceUniqueId="181ddf3d-9cdb-461a-9dba-4338cf2a02f8" FilterString="$/SourceProject" />
            <FilterItem MigrationSourceUniqueId="e292262f-9479-490f-b5e3-ce7e845d1468" FilterString="$/Target" />
          </FilterPair>
        </Filters>
      </Session>
    </Sessions>
    <Linking>
      <CustomSettings />
      <LinkTypeMappings />
    </Linking>
    <WorkFlowType Frequency="ContinuousManual" DirectionOfFlow="Unidirectional" SyncContext="Disabled" />
    <CustomSettings />
    <UserIdentityMappings EnableValidation="false">
      <UserIdentityLookupAddins />
    </UserIdentityMappings>
    <ErrorManagement>
      <ErrorRouters />
      <ReportingSettings />
    </ErrorManagement>
  </SessionGroup>
</Configuration>

唯一值得注意的是,两个MigrationSource上的值ServerIdentifier属性是不同的,因为这是一个单一的服务器部署,它们应该是相同的,我想不出它应该重要的原因,但这是我要改变的唯一的事情。

我必须承认这确实很奇怪,但是问题已经解决了。我没有对配置做任何更改,但是当我重新运行迁移时,一切都正常了——所有源代码都出现在Target项目源代码控制中,同时还有签入历史记录。此外,我还创建了另一个空的Target项目,迁移工作也很好。这个问题似乎是由一些临时的TFS集成工具波动引起的。

相关内容

  • 没有找到相关文章

最新更新