Инструменты интеграции TFS: от контроля версий до контроля версий - PullRequest
0 голосов
/ 28 апреля 2011

Я только что исследовал TFS Integration Tools, чтобы перенести весь исходный код вместе с историей с одного TFS сервера 2010 на другой, и у меня возникло странное поведение. Вот мои действия:

  1. Локально установленный TFS-сервер.
  2. Создано две коллекции проектов и проект в каждой из них (Исходный проект и Целевой проект).
  3. Заполненный исходный проект с некоторыми файлами, сделал несколько проверок и проверок.
  4. Запущенные инструменты интеграции TFS.
  5. Создана новая конфигурация с шаблоном VersionControl.xml
  6. Выбранный исходный проект в качестве левого источника и целевой проект в качестве правого источника.
  7. Начата миграция. Все было хорошо, я мог видеть всю историю в окне прогресса.

И результат этих действий следующий - ничего не изменилось. В прямом смысле. Я ожидал, что исходный контроль проекта Target будет заполнен файлами из исходного проекта. Но оба проекта остались именно такими, какими они были.

Чего мне не хватает? Что я неправильно понял в инструментах интеграции TFS?

Update

Вот конфиг, сгенерированный приложением:

<?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>

Ответы [ 2 ]

0 голосов
/ 29 апреля 2011

Я должен признать, что это действительно странно, но проблема решена.Я не внес никаких изменений в конфигурацию, но когда я перезапустил миграцию, все заработало - весь исходный код появился в системе контроля версий проекта Target вместе с историей регистрации.Более того, я создал еще один пустой целевой проект, и миграция также работала нормально.Похоже, что проблема была вызвана временными колебаниями TFS Integration Tools.

0 голосов
/ 28 апреля 2011

Единственное, что бросается в глаза, это то, что атрибут ServerIdentifier на двух MigrationSource отличается, поскольку это развертывание на одном сервере, они должны быть одинаковыми, не могут придумать причину, по которой это должно иметь значение хотя - но это единственное, что я бы изменил.

Все остальное в вашем конфиге в порядке.

...