2011-04-28 136 views
0

我剛剛調查過TFS集成工具,將所有源代碼以及歷史記錄從一個TFS服務器2010遷移到另一個TFS服務器,並且我遇到了一個奇怪的行爲。以下是我的操作:TFS集成工具:版本控制到版本控制 - 沒有真正發生

  1. 本地安裝了TFS服務器。
  2. 在其中創建兩個項目集合和項目(源項目和目標項目)。
  3. 填充源項目與一些文件,進行了幾個簽出和簽入。
  4. 推出TFS集成工具。
  5. 使用模板VersionControl.xml創建新配置
  6. 選擇源項目作爲左源和目標項目作爲正確源。
  7. 開始遷移。一切都很好,我可以在進度窗口看到所有的歷史。

而這些行爲的結果如下 - 沒有任何改變。從字面上看。我預計目標項目的源代碼控制將充滿來自Source項目的文件。但兩個項目都保持原樣。

我錯過了什麼?我誤解了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> 
+0

你的理解是正確的。至少目標應該與來源相同。聽起來像配置是錯誤的和/或一些梨。你可以發佈配置+日誌? – 2011-04-28 10:51:45

+0

感謝您的回覆。我已經用配置信息更新了這篇文章。我沒有添加日誌以避免垃圾郵件的丟失,但我仔細檢查了它,發現既沒有錯誤也沒有警告。而且,根據日誌一切正常,所有變更集都被正確轉移。 – Andrei 2011-04-28 11:39:22

+0

你在一臺服務器上(這是我從帖子中懷疑的)還是兩臺服務器(這是你的配置設置)來做這件事? – 2011-04-28 13:19:56

回答

0

我必須承認這真的很奇怪,但問題解決了。我沒有對配置進行任何更改,但是當我重新執行遷移時,所有源代碼都出現在Target項目源代碼控制中,並附帶簽入歷史記錄。此外,我創建了另一個空白的Target項目,並且遷移工作正常。看來問題是由一些臨時TFS集成工具波動引起的。

0

只有看出來的是,在兩個MigrationSource價值ServerIdentifier屬性的不同,如這是一個單一的服務器部署,他們應該是相同的,不能想到它應該很重要的原因 - 但它是我唯一會改變的。

你的配置中的其他一切都很好。