TFS lagrer som kjent en god del forskjellig data under applikasjonsutviklingen - kildekode, endringshistorikk, oppgaver/tasks, bugs, historiske data osv osv. Bruker man en av TFS klientene kommuniserer man fint med TFS. Men det finnes en rekke prosjekter/brukere som også har andre behov eller sitter i et annet "scenario".

Derfor har man bygd verktøyet TFS Migration & Synchronization Toolkit. Dette verktøyet hjelper deg å bygge andre verktøy som lar TFS kommunisere med andre systemet enten unidirectional/enveis eller bidirectional/toveis. Utifra dette har man jobbet med å lage verktøy for spesifikke systemer som ClearCase migration and synchronization tool.

Parallelt med dette har man også prosjekter som har behov for mer

  • "hvordan flytter jeg et prosjekt fra en TFS server til en annen.."
  • "jeg har to TFS servere, hvordan konsoliderer jeg disse til en..."

Dette er støtte man jobber med å få på plass i Rosario (neste store release av VSTS), men inntil da har man sett på muligheten for å se på TFS som et "produkt x" ifm Migration & Sync toolet nevnt over. Derfor ble TFS to TFS Migration Tool født.

Dette verktøyet gjør deg i stand til å

  • Enveis migrering av TFS kildekode og work items fra et prosjekt på en TFS server til et prosjekt på en annen TFS Server.
  • Toveis synkronisering av TFS kildekode og work items mellom et prosjekt på en server til et prosjekt på en annen server.

TFS

Men det er dessverre ingen perfekt løsning og har derfor noen begrensninger:

  • Du kan kun kopiere versjonskontroll items og work items
  • work item id'er og changeset id'er vil alltid bli nye i prosjektet du sender til. Kan bli rotete hvis du referer til ID'er f.eks i en bug
  • timestamp'ene vil bli anerledes
  • versjonskontroll migrering er komplekst. Du bør bruke litt tid på å sette deg inn i dette.