Condividi tramite


Modalità di migrazione degli eventi della cronologia

Aggiornamento: novembre 2007

In questo argomento viene descritto come viene eseguita la migrazione in Team Foundation degli eventi della cronologia registrati da Visual SourceSafe.

Eventi della cronologia

La migrazione degli eventi della cronologia viene eseguita nell'area equivalente di Team Foundation in modo da mantenere la cronologia dei file di origine. La cronologia delle versioni dei file viene creata riproducendo gli eventi che hanno creato la cronologia. Nella seguente tabella viene illustrata in dettaglio la migrazione di ciascun evento della cronologia.

Evento

Modalità di migrazione

Aggiunta file o cartella

L'evento di aggiunta file crea la prima versione del file in Team Foundation. L'evento di aggiunta cartella crea la prima versione della cartella in Team Foundation. If the folder had files or folders under it when it was added, those files and folders are added separately. 

Modifica file

L'evento di modifica file crea una nuova versione del file in Team Foundation.

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 e se si richiede la lettura di tale etichetta, si otterrà il contenuto corrispondente alla versione precedente del file. Per eseguire la migrazione di etichette esplicite, il convertitore applica l'etichetta alla versione in Team Foundation corrispondente a quella con tale etichetta in Visual SourceSafe, 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.

Applicazione etichetta cartella

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. Durante la migrazione di tali cartelle, il convertitore applica l'etichetta alla versione corrispondente della cartella in Team Foundation, assegnando automaticamente l'etichetta alle versioni correnti dei file e delle cartelle contenute nella cartella a cui è stata assegnata l'etichetta.

Ridenominazione, eliminazione o annullamento dell'eliminazione di file o cartelle

Durante la migrazione di un evento di ridenominazione, eliminazione e annullamento di 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.

Spostamento cartella

L'evento di spostamento cartella crea una nuova versione della cartella in Team Foundation. In Visual SourceSafe il comando di spostamento non modifica il contenuto o la cronologia della cartella, ma viene registrato nella cronologia della cartella padre nuova e precedente. Quando si sposta una cartella, Visual SourceSafe non è in grado di ricostruire una versione precedente della cartella padre.

Al termine della migrazione sarà invece possibile ricostruire una versione precedente grazie alla modalità di migrazione dell'evento di spostamento della cartella. Ad esempio, se è stata assegnata l'etichetta "ETICHETTA1" alla cartella $/A contenente la sottocartella /B e successivamente la cartella /B è stata spostata in un'altra cartella $/C, quindi in Visual SourceSafe si richiede la lettura di "ETICHETTA1" da $/A, non si otterrà $/A/B. Al termine della migrazione a Team Foundation, invece, si otterrà la cartella spostata ($/A/B) alla richiesta della lettura dell'etichetta.

Durante la migrazione di cartelle spostate possono presentarsi tre scenari con risultati differenti, a seconda dell'oggetto della migrazione:

  • Viene eseguita la migrazione di entrambe le cartelle di origine e di destinazione. Nessuna perdita di dati. Nel caso dell'esempio precedente, viene eseguita la migrazione della cartella di origine $/A e della cartella di destinazione $/C.

  • Viene eseguita la migrazione solo della cartella di destinazione. Al termine della migrazione, la cartella spostata viene visualizzata nella cartella di destinazione come se fosse stata aggiunta al momento dello spostamento. Non viene eseguita la migrazione in Team Foundation della cronologia della cartella spostata e degli elementi in essa contenuti prima dell'evento di spostamento. Nel caso dell'esempio precedente, l'evento di spostamento della sottocartella /B verrà visualizzato in $/C come un evento di aggiunta cartella. Per impedire la perdita dei dati cronologici, è consigliabile eseguire la migrazione contemporanea delle cartelle di origine e di destinazione della cartella spostata. Quando si esegue l'analisi della migrazione, il report risultante contiene una sezione di avviso in cui viene segnalata la possibile perdita di dati.

  • Viene eseguita la migrazione solo della cartella di origine. Durante la migrazione non viene eseguita la migrazione in Team Foundation della cronologia della cartella spostata e degli elementi in essa contenuti. Per impedire la perdita dei dati cronologici, è consigliabile eseguire la migrazione contemporanea delle cartelle di origine e di destinazione della cartella di Visual SourceSafe spostata. Quando si esegue l'analisi della migrazione, il report risultante contiene una sezione di avviso in cui viene segnalata la possibile perdita di dati.

Nota:

Se l'evento di spostamento della cartella è combinato a un evento di ripristino, è possibile che la migrazione della cronologia non venga eseguita correttamente.

Condivisione file

In Visual SourceSafe è possibile condividere un file tra più cartelle. Le modifiche apportate a un file condiviso vengono replicate nelle cartelle di condivisione. Internamente in Visual SourceSafe vengono creati collegamenti software tra i file condivisi. Tecnicamente, le cartelle non sono condivise in Visual SourceSafe. Infatti, quando si condivide una cartella in Visual SourceSafe, viene creata una copia della cartella e tutti i file in essa contenuti vengono condivisi.

In Team Foundation non è disponibile una funzionalità di condivisione equivalente. La migrazione dei file condivisi viene eseguita creando nella cartella di destinazione una versione del file con lo stesso contenuto della versione del file al momento della condivisione. Le modifiche apportate successivamente al file condiviso vengono replicate dal convertitore in entrambe le posizioni.

Condivisione ed eliminazione file

Un file condiviso e successivamente eliminato viene gestito come un file condiviso, con la differenza che vengono ignorate tutte le azioni posteriori all'eliminazione.

Se l'eliminazione del file condiviso viene successivamente annullata, durante la migrazione il convertitore segnalerà un errore per ogni azione eseguita sul file, ad esempio modifica o ridenominazione. Tuttavia, durante la migrazione dell'azione di annullamento dell'eliminazione, il convertitore esegue una modifica del file e l'annullamento dell'eliminazione in modo che il contenuto del file corrisponda a quello del file in Visual SourceSafe di cui è stata annullata l'eliminazione.

Se il file condiviso eliminato viene successivamente rinominato, durante la migrazione il convertitore segnalerà un errore per l'azione di ridenominazione. Non verrà perciò eseguita la migrazione delle azioni successive alla ridenominazione e per ognuna di esse il convertitore segnalerà un errore.

Diramazione file

La condivisione è una precondizione per la diramazione. Il convertitore non può associare una diramazione di Visual SourceSafe a una diramazione di Controllo della versione di Team Foundation. La migrazione di un file condiviso produce una replica del file nella cartella di destinazione. La migrazione di un evento di diramazione causa l'interruzione della replica in entrambe le posizioni delle modifiche apportate a un file condiviso. Di conseguenza, la migrazione delle modifiche apportate a una diramazione viene eseguita solo nella rispettiva copia in Team Foundation. Il report di migrazione fornisce un elenco delle cartelle contenenti file condivisi o con diramazioni in Visual SourceSafe.

Archiviazione

Quando si archiviano file o cartelle in Visual SourceSafe, è possibile rimuovere completamente la cronologia di un file o di una cartella oppure rimuovere dalla cronologia solo alcune versioni. Se la cronologia è stata rimossa, il convertitore non può eseguire la migrazione delle versioni rimosse e per questo motivo ignora l'evento di archiviazione.

Ripristino

Quando si esegue un ripristino in Visual SourceSafe, si ripristina la cronologia di un file o di una cartella archiviata. Il convertitore esegue la migrazione della cronologia di file e cartelle ripristinata ed ignora l'evento di ripristino.

Blocco e sblocco

Poiché in Controllo della versione di Team Foundation il blocco non è supportato, la migrazione dei file bloccati viene eseguita creando due etichette. L'etichetta PINNED_LATEST viene applicata alle versioni bloccate dei file e all'ultima versione 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.

Vedere anche

Concetti

Modalità di raggruppamento del convertitore degli insiemi di modifiche per fornire prestazioni migliori

Altre risorse

Pianificazione della migrazione del controllo del codice sorgente