Migrare codice da SourceSafe a Tfs 2008

Per poter migrare da SourceSafe a Team Foundation Server 2008 il codice sorgente, mantenendo la storia delle archiviazioni, esiste un programma a line a di comando VSSConverter.exe.
I passi da eseguire per la migrazione non sono complessi ma, richiedono un po’ di attenzione.
Sul sito di msdn c’è un articolo abbastanza chiaro che illustra i passaggi che possono essere riassunti così:

  • Sulla macchina di migrazione devono essere installati Visual SourceSafe 2005 e TfsExplorer 2008.
  • Avere accesso a una istanza di Sql Server, per appoggiarsi nella migrazione (anche una express va bene). 
  • A livello di credenziali dobbiamo conoscere al password di admin di SourceSafe ed eseguire il processo di migrazione con un utente con i diritti di accesso a Sql Server e a Tfs
  • A questo punto creiamo un file di configurazione che verrà usato da VSSConverter

<?xml version="1.0" encoding="utf-8"?>
<SourceControlConverter>
    <ConverterSpecificSetting>
        <Source name="VSS">
            <VSSDatabase name="D:\VSS\" />
            <UserMap name="VSSConverterUser.xml" />
            <SQL Server="192.168.168.1" />
        </Source>
        <ProjectMap>
            <Project Source="$/CodeSourceSafe" Destination="$/CodeTfs"></Project>
        </ProjectMap>
    </ConverterSpecificSetting>
    <Settings>
        <TeamFoundationServer name="192.168.168.2" protocol="http" port="8080" />
        <Output file="Analysis.xml"></Output>
    </Settings>
</SourceControlConverter>

VssDatabase indica la cartella che contiene il file srcsafe.ini
UserMap è il percorso di un altro file xml che descrive il mapping degli utenti
SQL Server indica l’indirizzo del server sql che viene usato come base di appoggio
ProjectMap contiene la lista di mapping tra percorsi dei progetti da sourcesafe e tfs
TeamFoundationServer indica il server tfs di destinazione

  • Una volta completato il file di mapping possiamo lanciare da riga di comando VSSConverter Analyze FilediConfigurazione.xml
    Il programma analizzerà il source control e ci segnalerà eventuali errori o warning, in più creerà il file VSSConverterUser.xml con l’elenco degli utenti che anno effettuato archiviazioni per i project path indicati.
  • Possiamo modificare il file di mapping degli utenti.

<?xml version="1.0" encoding="utf-8"?>
<UserMappings>
  <UserMap From="Roberto" To="Domain\Roberto" />
  <UserMap From="UserSourceSafe" To="Domain\User" />
</UserMappings>

  • A questo punto possiamo lanciare l’importazione vera e propria con il comando VSSConverter Migrate FilediConfigurazione.xml
  • Ultimo passo dopo aver letto l’ultima versione da Tfs dobbiamo scollegare il progetto da SourceSafe e ricollegarlo a Tfs

Su codeplex esiste un programma che aggiunge la gui per VSSConverter, sfortunatamente si basa su Tfs 2005 ma, scaricando i sorgenti e modificando i riferimenti e qualche istruzione è possibile utilizzarlo anche con Tfs 2008.

posted @ lunedì 9 marzo 2009 01:15

Print

Comments on this entry:

# re: Migrare codice da SourceSafe a Tfs 2008

Left by Lorenzo Barbieri at 09/03/2009 02:26
Gravatar
Ciao,
2 note al volo:

- conviene SEMPRE e COMUNQUE installate la SP1 del Team Explorer. Il VSSConverter 2008 SP1 è moooooltoooooooo più in grado di gestire situazioni critiche e file/cartelle problematiche in VSS.
- la GUI che si trova su CodePlex va bene per conversioni piccole, ma per grosse moli di dati rallenta di molto la conversione, conviene usarla per farsi le ossa col file xml, ma poi usare quello.

Ciao,
Lorenzo
Comments have been closed on this topic.
«aprile»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011