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.
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.