Migrazione da Visual SourceSafe
Aggiornamento: novembre 2007
Visual SourceSafe è uno strumento di controllo del codice sorgente per sviluppatori di software professionisti. Per ulteriori informazioni su Visual SourceSafe, vedere Controllo del codice sorgente per Visual Studio. Team Foundation è un sistema di controllo del codice sorgente client-server che utilizza un servizio Web .NET per accedere agli elementi archiviati in un database di SQL Server. L'architettura del controllo del codice sorgente di Team Foundation consente di migliorare le prestazioni e l'affidabilità.
Lo strumento convertitore Visual SourceSafe di Team Foundation consente di trasferire file, cartelle, cronologia della versione, etichette e informazioni utente da un database Visual SourceSafe a Controllo della versione di Team Foundation. Prima di spostare file e informazioni cronologiche in Team Foundation, occorre esaminare una copia di backup del database Visual SourceSafe, archiviare il maggior numero di file possibile e determinare quali informazioni non possono essere trasferite da Visual SourceSafe a Team Foundation.
Differenze tra Team Foundation e Visual SourceSafe
Visual SourceSafe e Controllo della versione di Team Foundation consentono di portare a termine le stesse attività di base:
Sviluppare contemporaneamente più di una versione di un prodotto
Apportare modifiche ad una versione rilasciata di un prodotto senza influire sulle altre versioni
Recuperare in maniera rapida un insieme di file correlati
Determinare chi ha apportato una determinata modifica e quando
Confrontare le revisioni di un file
Spostare le modifiche da una versione all’altra
Le interfacce del client Controllo della versione di Team Foundation sono state progettate in modo da risultare familiari agli utenti di Visual SourceSafe. Entrambi i prodotti offrono un'integrazione tra Microsoft Visual Studio Team System e il client della riga di comando. Controllo della versione di Team Foundation non utilizza un'interfaccia utente distinta come Visual SourceSafe.
Nonostante le numerose similitudini, Team Foundation e Visual SourceSafe differiscono per alcuni aspetti fondamentali. Il presente argomento è suddiviso in due sezioni principali in cui vengono illustrate in dettaglio tali differenze.
Nella sezione Differenze di architettura vengono descritte le differenze di carattere tecnologico e operativo tra Team Foundation e Visual SourceSafe.
Nella sezione Differenze di funzionalità vengono illustrate le funzioni presenti in un prodotto ma non nell'altro, vengono descritte le variazioni di minore entità e viene spiegato come tali variazioni delle funzionalità possono consentire al team di svolgere le proprie attività in modo più efficace con Team Foundation.
Differenze di architettura
Gestione risorse SourceSafe e il plug-in per Visual Studio, leggono e scrivono dati da e in un database di Visual SourceSafe, un insieme di file normalmente archiviati in una cartella di rete condivisa.
Sicurezza e diritti dei progetti
I diritti e le assegnazioni degli utenti di Visual SourceSafe impostati nel programma Amministratore di Visual SourceSafe sono indipendenti dalle autorizzazioni di condivisioni di Windows relative alla cartella del database di Visual SourceSafe. È possibile impostare diritti e assegnazioni per progetti Visual SourceSafe specifici o singoli utenti di Visual SourceSafe ma a tutti gli utenti di Visual SourceSafe devono essere concesse le stesse autorizzazioni per la cartella del database di Visual SourceSafe. Di conseguenza, tutti gli utenti di Visual SourceSafe, indipendentemente dai diritti a livello di progetto specificati mediante il programma Amministratore di Visual SourceSafe, possono accedere alle cartelle condivise e hanno il controllo completo su tutti i dati di Visual SourceSafe.
In Team Foundation, le autorizzazioni operative specifiche dell'utente e i diritti di accesso a livello di progetto sono correlati agli account utente di Windows. L'autenticazione degli utenti viene effettuata in modalità sicura da Internet Information Server. L'accesso separato al database di SQL Server non richiede la concessione ai singoli utenti che eseguono operazioni con il controllo del codice sorgente. L'infrastruttura di sicurezza di Team Foundation risultante è quindi potente, sicura e facile da gestire.
Affidabilità
Poiché Visual SourceSafe non dispone di un componente server, le operazioni che prevedono il trasferimento di dati dal client al database non sono di tipo transazionale. Ciò significa che non è possibile annullare un'operazione nel caso in cui si verifichi un problema. Nei rari casi in cui si verificano problemi come la perdita della connessione di rete nel corso di un'operazione di scrittura, l'integrità dei file può venire compromessa e le informazioni possono andare perdute.
Team Foundation è un'applicazione client-server in cui le operazioni di scrittura vengono eseguite all'interno del database per mezzo di stored procedure che non risentono di eventuali problemi di connessioni di rete. Inoltre, alcune operazioni vengono eseguite mediante transazioni che consentono l'annullamento in caso di errore. Questa architettura assicura che i file di origine non vengano inavvertitamente danneggiati. Garantisce inoltre che il commit di tutti i gruppi di file contenenti modifiche dipendenti venga eseguito simultaneamente nel server del controllo del codice sorgente, come insieme di modifiche presumibilmente testato in modo adeguato.
Scalabilità
Team Foundation può supportare team con un massimo di 2000 utenti, mentre Visual SourceSafe è consigliato per team composti da un massimo di venti membri. I server Team Foundation possono contenere la quantità di dati consentita da un database di SQL Server (terabyte di dati) e supportata dall'hardware in uso, mentre la dimensione massima consigliata per un database di Visual SourceSafe è 4 GB.
Differenze di funzionalità
Insiemi di modifiche
Concettualmente la struttura interna di un database di Visual SourceSafe è simile a quella di un server del controllo del codice sorgente Team Foundation. Sia i database che i server sono organizzati in base a una gerarchia. Le cartelle contengono i file. I file sono costituiti da versioni identificate dal numero e dalla data/ora di creazione.
Team Foundation anticipa il concetto di insieme di modifiche. Questo concetto non esiste in Visual SourceSafe. L'insieme di modifiche è un contenitore logico in cui Team Foundation memorizza tutti i dati correlati a una singola operazione di archiviazione: revisioni di file e cartelle, collegamenti agli elementi di lavoro correlati, note di archiviazione, commenti all'archiviazione e altre informazioni come il nome dell'utente che ha inoltrato la modifica. Per ulteriori informazioni, vedere la classe Utilizzo degli insiemi di modifiche per il controllo della versione.
Condivisione e blocco
Team Foundation non dispone di comandi equivalenti alle funzioni di condivisione e di blocco di Visual SourceSafe. Quando si esegue la migrazione di progetti di Visual SourceSafe a Team Foundation, i blocchi presenti in un database di Visual SourceSafe vengono sostituiti da etichette.
Differenze delle modalità di archiviazione delle cronologie in Team Foundation
Visual SourceSafe e Team Foundation memorizzano la cronologia delle seguenti azioni in modo diverso.
Aggiunta e creazione In Visual SourceSafe l'aggiunta di un file o una cartella consente di creare oltre al file una versione dell'oggetto padre. Nella cronologia dell'oggetto padre l'azione viene registrata come “aggiunta”; nella cronologia del file l'azione viene registrata come “creazione”. In Team Foundation l'aggiunta di un file o una cartella si limita a creare una versione del file o della cartella con un'azione di aggiunta. Non vengono create versioni dell'oggetto padre per questa azione.
Rinomina, Elimina e Recupera In Visual SourceSafe, queste azioni creano una nuova versione del padre. Comunque, in Team Foundation, viene creata una nuova versione dell'elemento stesso.
Spostamento In Visual SourceSafe, quando si sposta una cartella, vengono create nuove versioni sia della cartella padre di origine che della cartella padre di destinazione, con azioni registrate in ciascun oggetto padre coinvolto nello spostamento. Non viene però creata una versione per la cartella C. Ad esempio, se si sposta la cartella C dall'origine O alla destinazione D, verranno create una nuova versione di D con l'azione "Sposta $C da O" e una nuova versione di O con l'azione "Sposta $C in D". In Team Foundation viene creata solo una nuova versione di C con l'azione "Rinomina".
Differenze per estrazione e archiviazione
In Visual SourceSafe è necessario eseguire un'estrazione e un'archiviazione esplicite solo se si sta modificando un file. In Team Foundation ogni azione richiede un'estrazione e un'archiviazione esplicite.
Funzionalità che operano in modo diverso in Team Foundation
Per impostazione predefinita, Team Foundation, non esegue un'operazione Get automatica quando si estrae un file.
In Team Foundation più utenti possono estrarre e modificare lo stesso elemento contemporaneamente. In Visual SourceSafe le estrazioni sono esclusive per impostazione predefinita. Tuttavia in Team Foundation è possibile bloccare un file per impedire ad altri utenti di estrarlo o di archiviare modifiche. Per ulteriori informazioni, vedere la classe Informazioni sui tipi di blocco.
Diramazione e unione Visual SourceSafe dispone di un supporto minimo per le funzioni di diramazione e unione poiché Visual SourceSafe non archivia la cronologia delle unioni tra due diramazioni di file o cartelle. Controllo della versione di Team Foundation dispone invece di supporto per la cronologia delle unioni. Senza la cronologia delle unioni, in Visual SourceSafe vengono eseguite unioni baseless.
Ottenere la versione più recente in estrazione
Quando si estrae un file in Visual SourceSafe, Visual SourceSafe ne recupera la versione più recente dal controllo del codice sorgente. In Controllo della versione di Team Foundation è possibile configurare il comportamento dell'estrazione in due modi. Se si vuole che il comportamento dell'estrazione corrisponda a quello di Visual SourceSafe, è possibile configurare le impostazioni dell'estrazione in modo da ottenere sempre la versione più recente degli elementi estratti. Per ulteriori informazioni, vedere la classe Procedura: configurare le impostazioni di estrazione.
È anche possibile configurare il comportamento dell’estrazione in modo che provveda a contrassegnare la copia locale del file come estratto senza recuperare la versione più recente dal server. Questo comportamento di estrazione è utile quando si esegue un’operazione di lettura per recuperare un insieme di file. In genere, la configurazione dei file di origine sul computer locale rappresenta uno snapshot temporizzato eseguito su Controllo della versione di Team Foundation, di file specifici di cui si sa che lavorano insieme. Pertanto essi possono essere compilati e testati insieme.
Uno sviluppatore che lavora in un'area di lavoro è isolato dalle modifiche apportate dagli altri sviluppatori. È possibile controllare il momento in cui desidera accettare le modifiche apportate dai colleghi, eseguendo un'operazione di lettura secondo necessità. Quando viene eseguita tale operazione, in teoria, si aggiorna l'intera configurazione del codice sorgente e non solo uno o due file. La ragione di ciò è che, generalmente, le modifiche in un file dipendono da corrispondenti modifiche negli altri file. Questo comportamento di estrazione assicura che sia sempre disponibile uno snapshot coerente dell'origine, che può quindi essere compilato e testato.
Quando si archiviano le proprie modifiche, Team Foundation le unirà con qualsiasi altra modifica apportata alla versione presente sul server. In presenza di eventuali conflitti, verrà mostrata la finestra di dialogo Risolvi conflitti.
Funzionalità di Team Foundation che non esistono in Visual SourceSafe
Notifiche tramite posta elettronica con Impostazione di avvisi
Funzionalità di Visual SourceSafe che non esistono in Team Foundation
Condividi
Blocco
Archiviazione e ripristino
Sostituzione delle parole chiave
Per ulteriori informazioni, vedere le sezioni che seguono:
Modalità di migrazione degli eventi della cronologia
Viene descritto come viene eseguita la migrazione di determinati eventi cronologici da Visual SourceSafe a Controllo della versione di Team Foundation.Modalità di raggruppamento del convertitore degli insiemi di modifiche per fornire prestazioni migliori
Descrive come VSSConverter converte gli insiemi di modifiche utilizzati per raggruppare le informazioni su un'archiviazione.Pianificazione della migrazione del controllo del codice sorgente
Viene illustrato come pianificare una migrazione da Visual SourceSafe a Controllo della versione di Team Foundation.Migrazione del controllo del codice sorgente
Viene illustrato come eseguire una migrazione da Visual SourceSafe a Controllo della versione di Team Foundation.Operazioni da effettuare una volta eseguita la migrazione del controllo del codice sorgente
Vengono descritte le attività da svolgere dopo la migrazione per garantire la riuscita della migrazione e risolvere eventuali problemi.Utilità da riga di comando VSSConverter per la migrazione dei controlli del codice sorgente
Vengono elencate tutte le opzioni della riga di comando per il convertitore della migrazione del controllo del codice sorgente.
Vedere anche
Attività
Procedura dettagliata: preparazione alla migrazione da Visual SourceSafe a Team Foundation
Procedura dettagliata: migrazione da Visual SourceSafe a Team Foundation