Condividi tramite


Eseguire la migrazione da Visual SourceSafe

È possibile utilizzare lo strumento da riga di comando VSSConverter di Team Foundation per eseguire la migrazione di progetti, file, cronologia versioni, etichette e informazioni utente dal database di Visual SourceSafe al server per Controllo della versione di Team Foundation. Questo strumento è incluso in Visual Studio Team Foundation Server.

Per ulteriori informazioni su Visual SourceSafe, vedere la pagina seguente nel sito Web Microsoft: Controllo del codice sorgente per Visual Studio.

Per eseguire la migrazione dei dati dal database di Visual SourceSafe

  1. Comprendere i concetti chiave. Prima di eseguire la migrazione dei dati dal database di Visual SourceSafe al server per Controllo della versione di Team Foundation, è necessario comprendere alcuni concetti chiave. Team Foundation e Visual SourceSafe presentano notevoli differenze funzionali. Di conseguenza, VSSConverter deve modificare determinati tipi di dati durante la sua migrazione.

    Per ulteriori informazioni, vedere la sezione Come VSSConverter converte i dati più avanti in questo argomento.

  2. **Assicurarsi di disporre delle autorizzazioni necessarie.   **Per eseguire le procedure descritte in questo argomento, è necessario disporre di diversi tipi di autorizzazioni. Per ulteriori informazioni, vedere Autorizzazioni necessarie più avanti in questo argomento.

  3. Pianificare e prepararsi per il processo di migrazione. Prima di avviare il processo di migrazione, è possibile evitare gravi problemi per se stessi e per il proprio team eseguendo i passaggi relativi alla pianificazione e alla preparazione. Per ulteriori informazioni, vedere Pianificare e prepararsi per il processo di migrazione più avanti in questo argomento.

  4. Analizzare i dati. Prima di eseguire la migrazione dei dati da Visual SourceSafe a Controllo della versione di Team Foundation, è necessario utilizzare la funzionalità Analizza del convertitore Visual SourceSafe per determinare se eventuali problemi presenti nei dati influiranno sul risultato della migrazione. Con questo processo viene inoltre generato un file di mapping utenti necessario per eseguire la migrazione dei dati. Per ulteriori informazioni, vedere Analizzare i dati più avanti in questo argomento.

  5. Eseguire la migrazione dei dati. Una volta eseguita la funzionalità Analizza, è possibile eseguire la migrazione dei dati. Per eseguire la migrazione dei dati, è necessario specificare come viene eseguita la migrazione dei nomi utente, creare un file di impostazioni della migrazione, quindi eseguire il comando Migra. Per ulteriori informazioni, vedere Eseguire la migrazione dei dati più avanti in questo argomento.

  6. Verificare la migrazione e risolvere i problemi. Una volta eseguita la funzionalità Migra, è necessario effettuare i passaggi seguenti:

    • Rivedere il rapporto generato dalla funzionalità Migra.

    • Verificare i dati nel server di Controllo della versione di Team Foundation per assicurarsi che la migrazione dei dati dal database di Visual SourceSafe sia stata eseguita correttamente.

    Una volta eseguiti questi passaggi, potrebbe essere necessario risolvere i problemi. Per ulteriori informazioni, vedere Verificare la migrazione e risolvere i problemi più avanti in questo argomento.

Autorizzazioni necessarie

Per eseguire le procedure descritte in questo argomento, è necessario disporre delle seguenti autorizzazioni:

  • Nel database di Visual SourceSafe contenente i dati di cui si desidera eseguire la migrazione, è necessario conoscere la password dell'account Admin.

  • Nel computer della migrazione (il computer in cui è installato Visual Studio), è necessario essere un membro del gruppo Administrators.

  • Nel database utilizzato da VSSConverter, è necessario disporre dell'autorizzazione "create database". Per ulteriori informazioni, vedere Fornire un database per l'utilizzo da parte di VSSConverter più avanti in questo argomento.

  • Nel livello applicazione di Team Foundation, è necessario essere un membro del gruppo di sicurezza Team Foundation Administrators. Per ulteriori informazioni, vedere Autorizzazioni per Team Foundation Server.

Pianificare e prepararsi per il processo di migrazione

Prima di iniziare il processo di migrazione, è possibile evitare gravi problemi per se stessi e per il proprio team eseguendo i passaggi relativi alla pianificazione e alla preparazione.

Considerare le opzioni per ridurre il tempo necessario

Il convertitore fornisce opzioni di migrazione che possono ridurre al minimo il tempo di migrazione o consentire ai team di utilizzare il controllo della versione durante la migrazione. Valutare quale delle seguenti opzioni di migrazione sia la migliore per il proprio team.

  • Eseguire la migrazione dei progetti selezionati: Anziché eseguire contemporaneamente la migrazione dell'intero database di Visual SourceSafe, è possibile eseguire la migrazione dei progetti selezionati in momenti diversi. Per ulteriori informazioni, vedere Sezione <ProjectMap> più avanti in questo argomento.

  • Troncare alcuni dei dati storici: è possibile utilizzare la funzione di archiviazione di Visual SourceSafe per eseguire la migrazione della cronologia parziale. Utilizzare questa opzione se non si desidera eseguire la migrazione della cronologia precedente. In questo modo è possibile rimuovere la cronologia delle versioni dei file e delle cartelle prima di una data specifica. Per ulteriori informazioni, vedere Troncare la cronologia degli elementi più avanti in questo argomento.

Pianificare la migrazione con il team

Tentare di pianificare la migrazione quando gli utenti non richiedono l'accesso al database di Visual SourceSafe di cui si intende eseguire la migrazione. Se si dispone di moltissimi dati, un team numeroso oppure se si è lavorato a lungo sui progetti, può essere opportuno consentire una notevole quantità di tempo per la preparazione e l'esecuzione della migrazione dei dati.

Nota importanteImportante

Informare i membri del team quando si verificherà il processo di migrazione e consigliare loro di archiviare tutti i file prima dell'inizio di tale processo.

Copiare e preparare il database di Visual SourceSafe

Copiare e preparare il database di Visual SourceSafe eseguendo i passaggi seguenti:

  1. Archiviare i file.   In teoria, tutti i file del database di Visual SourceSafe devono essere archiviati. Tentare almeno di archiviare il maggior numero di file possibile.

  2. Rimuovere l'accesso ai progetti Visual SourceSafe.   Verificare di essere l'unica persona a disporre dell'accesso ai progetti di Visual SourceSafe di cui viene eseguita la migrazione.

  3. Copiare il database.   Seguire le istruzioni fornite nella pagina seguente del sito Web Microsoft:Come eseguire il backup di un database di Visual SourceSafe.

  4. Aggiornare la copia del database.   Se il database di Visual SourceSafe è di una versione precedente a Visual SourceSafe 6.0, eseguirne l'aggiornamento a Visual SourceSafe 2005 mediante l'utilità DDUPD di Visual SourceSafe. Per ulteriori informazioni, vedere l'argomento seguente nel sito Web Microsoft: Utilità DDUPD.

  5. (Facoltativo) Troncare la cronologia degli elementi.   Per ulteriori informazioni, vedere Troncare la cronologia degli elementi più avanti in questo argomento.

  6. Analizzare e risolvere i problemi relativi all'integrità dei dati nella copia del database.   Utilizzare l'utilità ANALYZE di Visual SourceSafe per individuare e risolvere i problemi relativi all'integrità dei dati nel database. Per ulteriori informazioni sull'utilizzo dello strumento, vedere le seguenti pagine del sito Web Microsoft: Utilità ANALYZE e Come rilevare e correggere gli errori di danneggiamento del database in Visual SourceSafe.

Troncare la cronologia degli elementi

Se non si desidera eseguire la migrazione di tutta la cronologia archiviata in Visual SourceSafe, è possibile eseguire la migrazione della cronologia dopo una data specifica mediante la funzione di archiviazione in Visual SourceSafe.

Nota di avvisoAttenzione

L'utilizzo di questo metodo consente di rimuovere permanentemente la cronologia delle versioni dal database di Visual SourceSafe. È pertanto necessario verificare di eseguire questa procedura su una copia del database di Visual SourceSafe anziché del database in servizio.

Per troncare la cronologia degli elementi in Visual SourceSafe, utilizzare la funzionalità di archiviazione in Visual SourceSafe. È possibile specificare il timestamp prima del quale si desidera troncare la cronologia utilizzando uno dei seguenti valori:

  • Etichetta

  • Versione di una cartella

  • Data

Per ulteriori informazioni sull'archiviazione in Visual SourceSafe, vedere Database di archiviazione di Visual SourceSafe.

Nota

La funzione di archiviazione di Visual SourceSafe presenta un limite di 2 GB. Se si verifica un errore durante il processo, tentare di archiviare progetti più piccoli separatamente.

Preparare il computer della migrazione

Preparare il computer della migrazione effettuando le seguenti operazioni:

  1. Verificare che il computer disponga di spazio libero su disco sufficiente per completare il processo di migrazione. Per valutare lo spazio su disco necessario, sommare gli elementi seguenti:

    • 5 GB di spazio su disco disponibili per la creazione di file temporanei e la generazione di file di log da parte di VSSConverter.

    • Spazio su disco uguale a due volte la dimensione dei progetti nel database di Visual SourceSafe di cui si eseguirà la migrazione.

    • Spazio su disco sufficiente per installare le applicazioni descritte nei passaggi seguenti.

  2. Installare Visual Studio nel computer della migrazione. 

    Nota importanteImportante

    Per il funzionamento di VSSConverter, è necessario un database (SQL Server Express o SQL Server). Per impostazione predefinita, quando si installa Visual Studio, viene installato SQL Server Express e viene concessa l'autorizzazione necessaria per il funzionamento di VSSConverter. Per ulteriori informazioni, vedere Fornire un database per l'utilizzo da parte di VSSConverter più avanti in questo argomento.

  3. Installare Visual SourceSafe 2005 nel computer della migrazione.

  4. Installare l'aggiornamento associato all'articolo 950185 della Microsoft Knowledge Base. È possibile ottenere questo software dalla pagina seguente del sito Web Microsoft: KB950185: QFE richiesto da VSS per Orcas SP1 VSSConverter.

  5. Assicurarsi che siano stati seguiti i passaggi descritti in Copiare e preparare il database di Visual SourceSafe.

  6. Copiare il database di Visual SourceSafe in una cartella del computer della migrazione.

    Nota di avvisoAttenzione

    Se si utilizza la condivisione di file per consentire al computer della migrazione di accedere ai dati contenuti nel database di Visual SourceSafe, anziché copiare il database, è necessario fornire l'accesso in lettura e modifica all'account utilizzato per accedere al computer della migrazione. Questo approccio non è consigliato perché può prolungare il processo di migrazione.

    Nota importanteImportante

    Indipendentemente da come viene configurato il computer della migrazione per accedere al database di Visual SourceSafe, verificare di eseguire il processo di migrazione in una copia del database e non nel database in servizio. Questo approccio consente di proteggere i dati.

Fornire un database per l'utilizzo da parte di VSSConverter

Per il funzionamento di VSSConverter, è necessario un database (SQL Server Express o SQL Server). Per impostazione predefinita, quando si installa Visual Studio, viene installato SQL Server Express. Se si decide di deselezionare questa opzione quando si installa Visual Studio, è necessario installare manualmente SQL Server Express in un secondo momento oppure utilizzare SQL Server come database.

Indipendentemente dal database utilizzato, è necessario disporre dell'autorizzazione "create database" per il database. Per SQL Server Express, questa autorizzazione viene concessa automaticamente se viene installata insieme a Visual Studio.

Se si desidera utilizzare SQL Server anziché SQL Server Express, è necessario modificare il file delle impostazioni. Per ulteriori informazioni, vedere Elemento <SQL> più avanti in questo argomento.

Preparare l'istanza di Team Foundation Server

Preparare il computer della migrazione effettuando le seguenti operazioni:

  1. Verificare che il livello dati per Team Foundation disponga di spazio di archiviazione sufficiente. Saranno probabilmente necessari due volte la dimensione dei dati dei progetti contenuti nel database di Visual SourceSafe di cui viene eseguita la migrazione.

    Questo requisito potrebbe essere superiore o inferiore a seconda dei fattori seguenti:

    • Le dimensioni del database di Visual SourceSafe in fase di migrazione.

    • Il numero di azioni di cui deve essere eseguita la migrazione.

  2. La funzionalità Migra richiede che gli insiemi di progetti team e i progetti team esistano già nel server per Controllo della versione di Team Foundation prima che il processo di migrazione possa iniziare. Se non si dispone ancora dell'insieme di progetti team o del progetto team in cui si desidera eseguire la migrazione dei dati di Visual SourceSafe, eseguire uno dei passaggi seguenti o entrambi:

    • Creare un insieme di progetti team in cui si desidera eseguire la migrazione dei dati dal database di Visual SourceSafe. Per ulteriori informazioni, vedere Creare un insieme di progetti team.

    • Creare uno o più progetti team in cui si desidera eseguire la migrazione dei dati dal database di Visual SourceSafe. Per ulteriori informazioni, vedere Creare un progetto Team.

Analizzare i dati

Prima di eseguire la migrazione dei dati da Visual SourceSafe a Controllo della versione di Team Foundation, è consigliabile utilizzare la funzionalità Analizza del convertitore Visual SourceSafe per determinare se eventuali problemi presenti nei dati influiranno sul risultato della migrazione. Questa funzionalità consente inoltre di generare un file di mapping utenti utilizzato dalla funzionalità Migra per eseguire la migrazione dei dati.

Creare un file di impostazioni di analisi

Per utilizzare la funzionalità Analizza, è necessario creare un file di impostazioni. In questo file è possibile specificare il percorso del database di Visual SourceSafe di cui verrà eseguita la migrazione e delle cartelle di cui si desidera eseguire la migrazione.

Il codice XML seguente costituisce un esempio di file di impostazioni per di analisi.

<?xml version="1.0" encoding="utf-8"?>
<SourceControlConverter>
<ConverterSpecificSetting>
     <Source name="VSS">
          <VSSDatabase name="c:\ourvss"></VSSDatabase>
          <UserMap name="c:\ourvss\migrate\Usermap.xml"></UserMap>
     </Source>
     <ProjectMap>
          <Project Source="$/Core"></Project>
          <Project Source="$/ProjectA"></Project>
          <Project Source="$/ProjectB"></Project>
     </ProjectMap>
</ConverterSpecificSetting>
<Settings>
     <Output file="c:\ourvss\migrate\logs\ContosoVSSAnalyze.xml"></Output>
</Settings>
</SourceControlConverter>

È possibile copiare l'esempio precedente, incollarlo nel proprio file di impostazioni, quindi modificarlo. Le informazioni seguenti possono consentire di adattare l'esempio in base alle proprie esigenze.

Attributo <?xml encoding>

L'attributo <?xml encoding> deve corrispondere alla codifica utilizzata nel file di impostazioni. Se, ad esempio, il file viene salvato come Unicode, il tag <?xml encoding> è il seguente:

<?xml version="1.0" encoding="unicode">

Attributo <VSSDatabase name>

Nell'attributo <VSSDatabase name> specificare il percorso della cartella contenente il file srcsafe.ini per la copia del database di Visual SourceSafe di cui viene eseguita la migrazione. Un esempio è costituito dal codice seguente.

<Source name="VSS">
   ...
   <VSSDatabase name="c:\ourvss"></VSSDatabase>
   ...
</Source>

Il percorso non deve contenere la stringa srcsafe.ini. Ad esempio, l'attributo <VSSDatabase name> seguente è errato e determinerà la mancata riuscita del comando VSSConverter:

<Source name="VSS">
   ...
   <VSSDatabase name="c:\ourvss\srcsafe.ini"></VSSDatabase>
   ...
</Source>

Attributo <UserMap name>

La funzionalità Analizza consente di raccogliere e compilare i dati sugli utenti di Visual SourceSafe e di archiviarli in un file XML. Facoltativamente, è possibile specificare il percorso e il nome del file in cui si desidera che questi dati vengano archiviati nell'attributo <UserMap name>. Se questo attributo non viene specificato, la funzionalità Analizza crea un file denominato UserMap.xml e lo inserisce nella directory corrente.

Sezione <ProjectMap>

Nella sezione <ProjectMap>, specificare il percorso di ogni progetto di Visual SourceSafe di cui si desidera eseguire la migrazione nell'attributo Source di un elemento <Project>.

Per eseguire la migrazione di tutti i dati nel database di Visual SourceSafe, fare in modo che la sezione <ProjectMap> corrisponda all'esempio seguente:

<ProjectMap>
   <Project From="$/"></Project>
</ProjectMap>

Anziché eseguire contemporaneamente la migrazione dell'intero database di Visual SourceSafe, è possibile eseguire la migrazione dei progetti selezionati in momenti diversi. Questa opzione può consentire di evitare il blocco dei team durante la migrazione se si dispone di grandi quantità di dati di cui eseguire la migrazione.

I percorsi negli attributi di origine non devono sovrapporsi. Ad esempio, la seguente sezione <ProjectMap> non è valida:

<ProjectMap>
   <Project Source="$/ProjectA"></Project>
   <Project Source="$/ProjectA/Controller"></Project>
</ProjectMap>

Attributo <Output file>

Nella sezione <Settings>, nell'attributo <Output file>, è possibile specificare il percorso e il nome del file in cui si desidera che venga scritto il rapporto di analisi. Se questo attributo non viene specificato, il convertitore scrive il rapporto in un file denominato VSSAnalysisReport.xml e lo inserisce nella directory corrente.

Elemento <SQL>

Per indicare al convertitore di utilizzare SQL Server anziché SQL Server Express, è possibile aggiungere un elemento <SQL> alla sezione <Source> del file di impostazioni della migrazione. Questo elemento utilizza la seguente sintassi: <SQL Server="SQL_Server_name"></SQL>.

Ad esempio, l'elemento <SQL> riportato di seguito indica che il server è "ContosoSQLServer":

<Source name="VSS">
   ...
   <SQL Server="ContosoSQLServer"></SQL>
   ...
</Source>

Eseguire il comando Analizza

Per analizzare un progetto utilizzando il convertitore

  1. Fare clic su Start, scegliere Tutti i programmi, Microsoft Visual Studio 2010, Visual Studio Tools, fare clic con il pulsante destro del mouse su Prompt dei comandi di Visual Studio 10.0, quindi scegliere Esegui come amministratore.

    Se viene visualizzata la finestra di dialogo Controllo account utente, fare clic su Continua.

  2. Digitare la riga di comando seguente:

    VSSConverter Analyze settings.xml

    Sostituire settings.xml con il percorso e il nome del file di impostazioni di analisi creato.

  3. Quando richiesto, fornire la password di amministratore per Visual SourceSafe.

    VSSConverter consente di visualizzare lo stato in corso mentre viene eseguita la funzionalità Analizza. Una volta completato il processo, la funzionalità Analizza genera un rapporto e un file di mapping utenti.

Rivedere e risolvere i problemi rilevati dalla funzionalità Analizza

Il rapporto di analisi fornisce informazioni sui problemi nel database di Visual SourceSafe che possono causare problemi durante il processo di migrazione. Tentare di risolvere il maggior numero di problemi possibile per ridurre al minimo i problemi con il processo di migrazione, come descritto nella sezione successiva.

Alcuni file vengono estratti

Nel rapporto vengono elencati i file attualmente estratti. Il processo di migrazione non mantiene le informazioni sul completamento della transazione. In teoria, tutti i file del database di Visual SourceSafe devono essere archiviati. Tentare almeno di archiviare il maggior numero di file possibile.

Alcuni elementi presentano problemi relativi all'integrità dei dati

Nel rapporto vengono elencati gli elementi la cui integrità dei dati è stata compromessa. La migrazione di questi elementi non verrà eseguita. L'utilità ANALYZE di Visual SourceSafe potrebbe essere in grado di correggere questi tipi di problemi. Per ulteriori informazioni, vedere le seguenti pagine del sito Web Microsoft: Utilità ANALYZE e Come rilevare e correggere gli errori di danneggiamento del database in Visual SourceSafe.

Alcune cartelle dei progetti mappati contengono la cronologia non inclusa nella sezione <ProjectMap>

Se una cartella viene spostata da un progetto a un altro in un database di Visual SourceSafe, la cronologia di tale cartella sarà contenuta sia nei progetti originali che in quelli correnti. Per eseguire la migrazione di tale cartella con tutta la sua cronologia, è necessario eseguire la migrazione sia dei progetti originali che di quelli correnti.

Un esempio è costituito dalla migrazione del progetto di Visual SourceSafe Project2. Questo progetto contiene la cartella $/Project2/FeatureA, che è stata spostata da Project1 in un determinato punto della cronologia.

Se la sezione <ProjectMap> contiene...

Ad esempio...

Then…

Entrambi i progetti.

<ProjectMap>
   <Project Source="$/Project1"></Project>
   <Project Source="$/Project2"></Project>
</ProjectMap>

Viene eseguita la migrazione della cartella con l'intera cronologia.

Il progetto che conteneva in origine la cartella, ma non il progetto che la contiene attualmente.

<ProjectMap>
   <Project Source="$/Project1"></Project>
</ProjectMap>

Non viene eseguita la migrazione della cartella.

Il progetto che attualmente contiene la cartella, ma non il progetto che la conteneva in origine.

<ProjectMap>
   <Project Source="$/Project2"></Project>
</ProjectMap>

Viene eseguita la migrazione della cartella con la cronologia a partire da quando è stata spostata nel progetto corrente. Non viene eseguita la migrazione della cronologia precedente allo spostamento della cartella nel progetto corrente.

Per ulteriori informazioni sulla sezione <ProjectMap> del file di impostazioni, vedere la sezione <ProjectMap> descritta in precedenza in questo argomento.

Alcuni nomi di etichetta non sono supportati dal controllo della versione di Team Foundation

Nel rapporto vengono elencati i nomi di etichetta che verranno modificati al momento della migrazione perché contengono caratteri non supportati da Controllo della versione di Team Foundation.

Eseguire la migrazione dei dati

Una volta eseguita la funzionalità Analizza, è possibile eseguire la migrazione dei dati. Prima di eseguire il comando Migra, è necessario creare un file di impostazioni della migrazione. Facoltativamente, è possibile specificare come viene eseguita la migrazione dei nomi utente.

Specificare la modalità di migrazione dei nomi utente

È possibile controllare come viene eseguita la migrazione delle informazioni utente da Visual SourceSafe a Controllo della versione di Team Foundation. In particolare, è possibile specificare quale nome utente la funzionalità Migra deve associare a ogni insieme di modifiche nella cronologia di ogni elemento in Controllo della versione di Team Foundation. A tale scopo, modificare il file di mapping utenti creato durante l'esecuzione della funzionalità Analizza, come spiegato precedentemente in questo argomento.

Il file di mapping utenti è facoltativo. Se si omette l'elemento <UserMap> dal file di impostazioni, ogni insieme di modifiche viene incorporato nel modo seguente:

  • Il campo Utente viene impostato sul nome dell'account in cui viene eseguito VSSConverter.

  • Il nome dell'utente che ha eseguito l'azione nel database di Visual SourceSafe viene archiviato nel campo Commento.

Esempio di un file di mapping utenti

Quando si esegue la funzionalità Analizza, i dati sugli utenti di Visual SourceSafe vengono compilati e archiviati in un file XML. In questo file viene elencato ogni utente di Visual SourceSafe che ha già eseguito un'operazione di controllo della versione nei progetti di Visual SourceSafe di cui viene eseguita la migrazione.

Nell'esempio seguente viene riportato un file di mapping utenti creato dalla funzionalità Analizza del convertitore Visual SourceSafe.

<?xml version="1.0" encoding="utf-8"?>
<UserMappings>
   <UserMap From="Admin" To=""></UserMap>
   <UserMap From="Guest" To=""></UserMap> 
   <UserMap From="Kim" To=""></UserMap>
   <UserMap From="Satomi" To=""></UserMap>
   <UserMap From="Mark" To=""></UserMap>
</UserMappings>

È possibile specificare l'attributo To di nessuno, alcuni o tutti gli elementi UserMap nel file di mapping utenti. Ad esempio, è possibile modificare l'esempio precedente nel modo seguente:

<?xml version="1.0" encoding="utf-8"?>
<UserMappings>
   <UserMap From="Admin" To="NORTHAMERICA\KenM"></UserMap>
   <UserMap From="Guest" To="Test1"></UserMap> 
   <UserMap From="Kim" To="EUROPE\KimT"></UserMap>
   <UserMap From="Satomi" To="ASIA\SatomiH"></UserMap>
   <UserMap From="Mark" To=""></UserMap>
</UserMappings>

Notare che nell'esempio precedente Guest viene mappato a Test1 e non viene specificato alcun dominio. In questi casi, VSSConverter presuppone che l'account appartenga al dominio predefinito.

Se non si specifica un attributo <UserMap To>, ogni insieme di modifiche viene incorporato nel modo seguente:

  • Il campo Utente viene impostato sul nome dell'account con cui è stato eseguito VSSConverter.

  • Il nome dell'utente che ha eseguito l'azione nel database di Visual SourceSafe viene archiviato nel campo Commento.

  • Se viene specificato un attributo <UserMap To> e il valore è un utente valido in un server su cui è in esecuzione Team Foundation, il campo utente viene impostato sul nome di tale account. Se il valore non è un utente valido in un server su cui è in esecuzione Team Foundation, VSSConverter visualizzerà un errore e terminerà il processo di migrazione.

Creare un file di impostazioni della migrazione

Il file di impostazioni della migrazione viene utilizzato per specificare di quali dati di Visual SourceSafe si desidera eseguire la migrazione e per controllare diversi aspetti relativi alla loro migrazione. Il modo più semplice per creare questo file consiste nel copiare il file creato in Creare un file di impostazioni di analisi più indietro in questo argomento. È quindi possibile aggiungere altri dati al file per renderlo utilizzabile da parte della funzionalità Migra.

Nell'esempio seguente viene mostrato un file di impostazioni di migrazione.

<?xml version="1.0" encoding="utf-8"?>
<SourceControlConverter>
<ConverterSpecificSetting>
     <Source name="VSS">
          <VSSDatabase name="c:\ourvss"></VSSDatabase>
          <UserMap name="c:\ourvss\migrate\Usermap.xml"></UserMap>
     </Source>
     <ProjectMap>
          <Project Source="$/Core" Destination="$/CoreTeamProject"></Project>
          <Project Source="$/ProjectA" Destination="$/ClientTeamProject/ProjectA"></Project>
          <Project Source="$/ProjectB" Destination="$/ClientTeamProject/ProjectB"></Project>
     </ProjectMap>
</ConverterSpecificSetting>
<Settings>
     <TeamFoundationServer name="My_Server" port="8080" protocol="http" collection="tfs/DefaultCollection"></TeamFoundationServer>
     <Output file="c:\ourvss\migrate\logs\ContosoVSSMigrate.xml"></Output>
</Settings>
</SourceControlConverter>

Le informazioni seguenti possono consentire di modificare il file di impostazioni per specificare in che modo la funzionalità Migra eseguirà la migrazione dei dati.

Attributo <Project Destination>

Per ogni elemento <Project> nella sezione <ProjectMap> del file di impostazioni, fornire un attributo Destination per specificare il percorso della posizione nel server per Controllo della versione di Team Foundation in cui si desidera eseguire la migrazione del contenuto del progetto nel database di Visual SourceSafe (specificato nell'attributo Source).

Ad esempio, si desidera eseguire la migrazione del contenuto di ProjectA nel database di Visual SourceSafe in ProjectA alla radice di un progetto team denominato Client.

<ProjectMap>
   <Project Source="$/ProjectA" Destination="$/ClientTeamProject/ProjectA"></Project>
</ProjectMap>

Affinché il valore nell'attributo Destination sia valido, è necessario che siano soddisfatte le condizioni riportate di seguito:

  • Il progetto team nell'attributo Destination (nell'esempio precedente, il progetto team è ClientTeamProject) deve trovarsi già nell'insieme di progetti team prima che venga avviato il processo di migrazione.

  • Se la cartella nell'attributo Destination (nell'esempio precedente, la cartella è ProjectA) si trova già nel progetto team, tale cartella deve essere vuota.

  • Il percorso nell'attributo Destination di un elemento <Project> non deve sovrapporsi al percorso nell'attributo Destination di un qualsiasi altro elemento <Project>. Ad esempio, la seguente sezione <ProjectMap> non è valida:

    <ProjectMap>
       <Project Source="$/ProjectA" Destination="$/ClientTeamProjectA/"></Project>
       <Project Source="$/ProjectB" Destination="$/ClientTeamProjectA/ProjectB"></Project>
    </ProjectMap>
    

Tag <TeamFoundationServer>

Nella sezione <Settings>, aggiungere un tag <TeamFoundationServer> e specificare il nome, la porta, il protocollo e il percorso dell'insieme di progetti team nel server su cui è in esecuzione Team Foundation Server utilizzando il formato seguente:

<TeamFoundationServer name="ServerName" port="PortNumber" protocol="http" collection="path/collection name></TeamFoundationServer>

Tag <Label migrate="false" />

Se il database di Visual SourceSafe contiene numerose etichette che vengono applicate a una grande quantità di file, è possibile prolungare il processo di migrazione. Se il team non ha bisogno di questi dati, è possibile configurare VSSConverter in modo che ignori le etichette, aggiungendo il tag <Label migrate="false" /> alla sezione <Settings>.

Attributo <Output file>

Nella sezione <Settings>, nell'attributo <Output file>, è possibile specificare il percorso e il nome del file in cui si desidera che venga scritto il rapporto di migrazione. Se l'attributo non viene incluso, il convertitore scrive il rapporto in un file denominato VSSMigrationReport.xml e lo inserisce nella directory corrente.

Eseguire il comando Migra

Per eseguire il comando Migra

  1. Fare clic su Start, scegliere Tutti i programmi, Microsoft Visual Studio 2010, Visual Studio Tools, fare clic con il pulsante destro del mouse su Prompt dei comandi di Visual Studio 10.0, quindi scegliere Esegui come amministratore.

    Se viene visualizzata la finestra di dialogo Controllo account utente, fare clic su Continua.

  2. Al prompt dei comandi digitare la riga di comando seguente:

    VSSConverter Migrate settings.xml

    Sostituire settings.xml con il percorso e il nome del file di impostazioni di migrazione creato.

    La funzionalità Migra consente di visualizzare ogni progetto di cui viene eseguita la migrazione dal database di Visual SourceSafe e ogni cartella in cui verrà eseguita la migrazione dei dati nel server per Controllo della versione di Team Foundation.

  3. Quando richiesto, premere Y per confermare la migrazione.

  4. Quando richiesto, digitare la password dell'utente che amministra il database di Visual SourceSafe.

Durante il processo, la funzionalità Migra consente di visualizzare lo stato corrente nella finestra del prompt dei comandi.

Riprendere il processo eseguendo una migrazione incrementale

Se per qualche motivo il processo di migrazione viene interrotto, è possibile riprenderlo come una migrazione incrementale dal punto in cui è stato interrotto. Una migrazione incrementale può essere utile se il processo di migrazione non è riuscito a causa di un errore o di problemi di rete. Durante la migrazione incrementale il convertitore esegue la migrazione solo dei dati di cui non è stata eseguita la migrazione nelle sessioni precedenti.

Per avviare una migrazione incrementale, seguire i passaggi indicati in Eseguire il comando Migra. Quando la funzionalità Migra chiede se si desidera eseguire una migrazione incrementale, premere Y.

Limitazioni della migrazione incrementale

Una migrazione incrementale non riuscirà a meno che non vengano rispettate le restrizioni seguenti:

  • Nel database di Visual SourceSafe, non è consentito eseguire operazioni di eliminazione, rimozione, archiviazione o ripristino.

  • Non è consentito modificare la sezione <ProjectMap> del file di impostazioni della migrazione.

  • Nel server per Controllo della versione di Team Foundation, non è consentito modificare le cartelle (o il contenuto delle cartelle) specificato nella sezione <ProjectMap> relativa al file di impostazioni della migrazione.

Verificare la risoluzione e risolvere i problemi

Una volta eseguita la funzionalità Migra, è necessario effettuare i passaggi seguenti:

  • Rivedere il rapporto generato dalla funzionalità Migra.

  • Verificare i dati nel server di Controllo della versione di Team Foundation per assicurarsi che la migrazione dei dati sia stata eseguita correttamente.

Una volta eseguiti questi passaggi, potrebbe essere necessario risolvere i problemi.

Come risolvere il superamento del limite di archiviazione per SQL Server Express

Per impostazione predefinita, VSSConverter utilizza SQL Server Express per archiviare metadati temporanei. Questi metadati richiedono in genere una piccola percentuale della dimensione totale dei dati di cui si esegue la migrazione. Nel caso improbabile che la migrazione non riesca perché viene raggiunto il limite di 4 GB di SQL Server Express, è possibile applicare un'impostazione che indica al convertitore di utilizzare invece una distribuzione di SQL Server. Per ulteriori informazioni, vedere Elemento <SQL> più indietro in questo argomento.

Convertire i file nel formato nome breve compatibile con MS-DOS (8.3) (TF227014)

Controllo della versione di Team Foundation non consente nomi di file nel formato nome breve compatibile con MS-DOS (8.3) (ad esempio, abcdef~1.txt). Quando si analizzano o si tenta di eseguire la migrazione dei file che presentano tale nome, viene visualizzato un errore TF227014.

Per risolvere questo problema, è possibile applicare temporaneamente un'impostazione al livello applicazione di Team Foundation in modo che consenta i file che presentano tali nomi. A questo scopo, è necessario impostare Allow8Dot3Paths su True nel database di configurazione per Team Foundation.

Nota importanteImportante

Per evitare problemi con computer client che supportano nomi brevi compatibili con MS-DOS, dopo avere completato il processo di migrazione, si consiglia di impostare Allow8Dot3Paths su False come descritto nella procedura riportata di seguito.

Per eseguire la procedura riportata di seguito, è necessario abilitare Windows PowerShell nel server di livello applicazione per Team Foundation. Per ulteriori informazioni, vedere l'argomento seguente nel sito Web Microsoft: Scripting con Windows PowerShell.

Autorizzazioni necessarie

Per eseguire questa procedura, è necessario essere un membro del gruppo degli Amministratori nel server a livello applicazione per Team Foundation. Per ulteriori informazioni, vedere Autorizzazioni per Team Foundation Server.

Per eseguire la migrazione di un database di Visual SourceSafe contenente i file indicati nel formato nome breve compatibile con MS-DOS

  1. Accedere al server a livello applicazione per Team Foundation.

  2. Creare uno script di Windows PowerShell denominato Allow8Dot3Paths.

    1. Copiare il testo di Script Allow8Dot3Paths PowerShell e incollarlo nello script.

    2. Modificare ServerPath in modo che corrisponda al percorso nell'URL utilizzato per connettersi a Team Foundation Server. Per impostazione predefinita, il percorso del server è "tfs".

    3. Modificare CollectionName in modo che corrisponda al nome dell'insieme di progetti team in cui viene eseguita la migrazione dei dati (ad esempio, DefaultCollection).

      Il risultato finale potrebbe essere ad esempio la seguente riga dello script:

      $collectionBaseUrl = "https://localhost:8080/tfs/DefaultCollection/";
      
  3. Eseguire lo script Allow8Dot3Paths.

  4. Riciclare il pool di applicazioni per Team Foundation.

    1. Fare clic su Start, scegliere Strumenti di amministrazione e quindi Gestione computer.

    2. Nel riquadro di spostamento, espandere Servizi e applicazioni.

    3. Fare clic su Gestione Internet Information Services (IIS), espandere il computer locale e fare doppio clic su Pool di applicazioni.

    4. Fare clic con il pulsante destro del mouse sul pool di applicazioni, quindi scegliere Ricicla.

  5. Eseguire il comando Migra.

    Per ulteriori informazioni, vedere Eseguire il comando Migra.

  6. Modificare lo script di Windows PowerShell Allow8Dot3Paths creato precedentemente, sostituendo "true" con "false".

  7. Eseguire lo script Allow8Dot3Paths modificato.

  8. Riciclare il pool di applicazioni per Team Foundation.

    1. Fare clic su Start, scegliere Strumenti di amministrazione e quindi Gestione computer.

    2. Nel riquadro di spostamento, espandere Servizi e applicazioni.

    3. Fare clic su Gestione Internet Information Services (IIS), espandere il computer locale e fare doppio clic su Pool di applicazioni.

    4. Fare clic con il pulsante destro del mouse sul pool di applicazioni, quindi scegliere Ricicla.

  9. Aprire Team Explorer e connettersi all'insieme di progetti team in cui è stata eseguita la migrazione dei dati.

  10. In Esplora controllo del codice sorgente, rinominare i file che presentano nomi nel formato nome breve compatibile con MS-DOS (8.3).

Script Allow8Dot3Paths PowerShell

# Load client OM assembly.
[Reflection.Assembly]::Load("Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");

$collectionBaseUrl = "https://localhost:8080/ServerPath/CollectionName/";

$tfs = [Microsoft.TeamFoundation.Client.TeamFoundationServerFactory]::GetServer($collectionBaseUrl);
$collectionHive = $tfs.GetService([Microsoft.TeamFoundation.Framework.Client.ITeamFoundationRegistry]);

# Set some version control settings in the collection hive.
$collectionHive.SetValue("/Service/VersionControl/Settings/Allow8Dot3Paths", "True");

# Display all version control settings as a table.
$collectionHive.ReadEntries("/Service/VersionControl/Settings/...") | ft -a

Come VSSConverter converte i dati

Team Foundation e Visual SourceSafe presentano notevoli differenze funzionali. Di conseguenza, VSSConverter deve modificare determinati tipi di dati durante la sua migrazione.

Insiemi di modifiche

Una funzionalità chiave di Controllo della versione di Team Foundation consiste nel modo in cui raggruppa le modifiche apportate a più file in un'unica unità quando un utente archivia un set di modifiche. Quest'unica unità è nota come insieme di modifiche.

Visual SourceSafe non dispone di una funzionalità equivalente agli insiemi di modifiche. Tuttavia, durante il processo di conversione, ogni set di modifiche viene raggruppato in un insieme di modifiche purché si verificano le condizioni seguenti:

  • Le modifiche non entrano in conflitto l'una con l'altra. Ad esempio, nessuna delle due azioni influisce sullo stesso file o cartella.

  • Le modifiche si sono verificate a non più di alcuni minuti l'una dall'altra.

  • Le modifiche sono state archiviate dallo stesso utente.

  • Le modifiche presentano lo stesso commento di archiviazione.

Per ulteriori informazioni, vedere Utilizzo degli insiemi di modifiche.

Condivisione e blocco

In Visual SourceSafe è possibile condividere un file tra più cartelle. Le modifiche apportate a un file condiviso vengono replicate nelle cartelle in cui viene condiviso il file. In Controllo della versione di Team Foundation non è disponibile una funzionalità equivalente. Durante la migrazione, viene eseguita la migrazione dei file condivisi nel progetto di Visual SourceSafe creando una copia indipendente aggiuntiva dell'elemento nel server per Controllo della versione di Team Foundation.

Controllo della versione di Team Foundation non dispone di una funzione equivalente alla funzione di blocco di Visual SourceSafe. Durante la migrazione, gli elementi bloccati nel progetto di Visual SourceSafe vengono convertiti in elementi con etichetta nel server per Controllo della versione di Team Foundation. Per ulteriori informazioni, vedere la sezione successiva.

Per ulteriori informazioni sulle etichette in Controllo della versione di Team Foundation, vedere Utilizzare le etichette per eseguire uno snapshot dei file.

Dati cronologia

Ogni evento nella cronologia di un elemento nel database di Visual SourceSafe viene trasferito nel server per Controllo della versione di Team Foundation come un insieme di modifiche. Una volta completato il processo di migrazione, è possibile visualizzare questi dati nella finestra Cronologia. Per ulteriori informazioni, vedere Utilizzo della finestra Cronologia.

Alcune modifiche ai dati si verificano durante la migrazione.

Migrazione dei dati relativi al nome utente, alla data e al timestamp

Mentre viene eseguita la migrazione di ogni voce nella cronologia di un elemento nel database di Visual SourceSafe in un insieme di modifiche nel server per Controllo della versione di Team Foundation, si verificano le seguenti modifiche:

  • La data e il timestamp nell'insieme di modifiche vengono impostati sulla data e sull'ora di quando è stata eseguita la migrazione dell'elemento.

  • La data e il timestamp originali vengono archiviati nel campo Commento dell'insieme di modifiche.

  • Il nome utente viene archiviato nel campo utente o Commento dell'insieme di modifiche, a seconda del risultato del processo di mapping degli utenti. Per ulteriori informazioni, vedere Specificare la modalità di migrazione dei nomi utente più indietro in questo argomento.

Modalità di conversione di tipi di eventi specifici

Viene eseguita la migrazione di eventi quali la modifica, la ridenominazione e l'eliminazione dal database di Visual SourceSafe in insiemi di modifiche nel server per Controllo della versione di Team Foundation in modo semplice. VSSConverter esegue, tuttavia, la migrazione di alcuni eventi in modo imprevisto, come illustrato nella tabella seguente.

Evento di Visual SourceSafe 

Modalità di migrazione dell'evento in Team Foundation

Aggiunta file o cartella

Questo insieme di modifiche è il primo evento della cronologia di ogni file e cartella di cui viene eseguita la migrazione.

Diversamente da quanto avviene in Visual SourceSafe, nessun evento viene registrato per il padre di ogni elemento figlio da esso contenuto.

Creazione di un ramo

La condivisione è una precondizione della creazione di un ramo in Visual SourceSafe, ma Controllo della versione di Team Foundation non supporta la condivisione. La migrazione di un file con ramo causa pertanto la copia del file nella cartella di destinazione. 

Viene eseguita la migrazione dei file condivisi dal database di Visual SourceSafe a Controllo della versione di Team Foundation copiando la versione del file esistente al momento della condivisione e inserendo la copia nella cartella di destinazione. Successivamente, ogni insieme di modifiche viene replicato in entrambe le copie del file fino a quando non si verifica l'evento di creazione del ramo.

Applicazione etichetta file 

In Team Foundation l'utente applica un'etichetta a una versione di un file o di una cartella. In Visual SourceSafe è possibile assegnare un'etichetta a un file in modo esplicito o implicito. Se in Visual SourceSafe a un file viene assegnata un'etichetta in modo esplicito, viene creata una nuova versione del file. Se i file vengono letti utilizzando tale etichetta, si otterrà il contenuto corrispondente alla versione del file esistente al momento della creazione dell'etichetta. Per eseguire la migrazione di etichette esplicite, il convertitore prende l'etichetta corrispondente alla versione con etichetta di Visual SourceSafe e la applica alla versione contenuta in Team Foundation, ma non crea una nuova versione.

Se in Visual SourceSafe si assegna un'etichetta a una cartella, l'etichetta viene applicata in modo implicito a tutti i file e a tutte le cartelle contenute in tale cartella, ma non vengono create nuove versioni. Nel caso di etichette implicite, il convertitore non esegue alcuna operazione in quanto l'etichetta viene assegnata automaticamente alle versioni corrispondenti in Team Foundation durante la migrazione delle etichette esplicite applicate alla cartella.

NotaNota
Se il database di Visual SourceSafe contiene numerose etichette che vengono applicate a una grande quantità di file, è possibile prolungare il processo di migrazione.Se il team non ha bisogno di questi dati, è possibile configurare VSSConverter affinché ignori le etichette.Per ulteriori informazioni, vedere <Label migrate="false" /> più indietro in questo argomento.

Applicazione etichetta cartella

In Visual SourceSafe, quando si applica un'etichetta a una cartella, a tutti i file e a tutte le cartelle contenuti in tale cartella viene assegnata un'etichetta in modo implicito, ma non vengono create nuove versioni. Durante la migrazione di tali cartelle, il convertitore applica l'etichetta alla versione corrispondente della cartella in Team Foundation, Questo comportamento applica automaticamente l'etichetta alle versioni correnti dei file e delle cartelle contenute nella cartella a cui è stata assegnata l'etichetta.

NotaNota
Se il database di Visual SourceSafe contiene numerose etichette che vengono applicate a una grande quantità di file, è possibile prolungare il processo di migrazione.Se il team non ha bisogno di questi dati, è possibile configurare VSSConverter affinché ignori le etichette.Per ulteriori informazioni, vedere <Label migrate="false" />.

Spostamento cartella

L'evento di spostamento cartella crea una nuova versione della cartella in Team Foundation.

VSSConverter non eseguirà la migrazione della cronologia completa degli elementi nelle cartelle spostate a meno che non venga eseguita contemporaneamente la migrazione delle cartelle di origine e destinazione. Per ulteriori informazioni, vedere Rivedere e risolvere i problemi rilevati dalla funzionalità Analizza.

NotaNota
Se l'evento di spostamento della cartella è associato a un evento di ripristino, è possibile che la migrazione della cronologia relativa ai dati non venga eseguita correttamente.

Ripristino

Non viene eseguita la migrazione di alcun dato della cronologia che si verifica prima di un evento di ripristino.

Blocco e sblocco

Controllo della versione di Team Foundation non supporta il blocco. VSSConverter esegue la migrazione di un file bloccato creando due etichette.

L'etichetta PINNED_LATEST viene applicata alle versioni bloccate dei file e alla versione più recente dei file sbloccati. L'etichetta PINNED viene applicata solo alle versioni bloccate dei file. Dopo la migrazione, l'etichetta PINNED_LATEST consentirà di recuperare gli stessi file restituiti dal comando Leggi ultima versione di Visual SourceSafe. È tuttavia possibile che l'etichetta PINNED_LATEST restituisca file differenti se si sono verificati eventi diversi dall'archiviazione dopo il blocco di un file, ad esempio ridenominazione o eliminazione del file.

Condivisione

Controllo della versione di Team Foundation non supporta la condivisione. Viene eseguita la migrazione dei file condivisi dal database di Visual SourceSafe a Controllo della versione di Team Foundation copiando la versione del file esistente al momento della condivisione e inserendo la copia nella cartella di destinazione. Successivamente, ogni insieme di modifiche viene replicato in entrambe le copie del file.

Annullamento dell'eliminazione di file o cartelle

Durante la migrazione di eventi di annullamento dell'eliminazione di un file o di una cartella, il convertitore riproduce l'evento per creare la nuova versione del file e della cartella in Team Foundation.

VSSConverter crea un insieme di modifiche che include il nome del file o della cartella, la data e l'ora in cui ne è stata annullata l'eliminazione e il nome utente.

Associazioni del controllo del codice sorgente

VSSConverter ripristina le associazioni di controllo della versione per ogni soluzione.