Share via


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

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:

Vedere anche

Attività

Procedura dettagliata: preparazione alla migrazione da Visual SourceSafe a Team Foundation

Procedura dettagliata: migrazione da Visual SourceSafe a Team Foundation