Informazioni sulle differenze tra i file e sui tipi di conflitto
Aggiornamento: novembre 2007
Nei team di sviluppo del software in cui più persone lavorano sullo stesso progetto è normale che le differenze tra i file creino situazioni di conflitto. Controllo della versione di Team Foundation consente di risolvere tali conflitti. I conflitti possono verificarsi nel corso delle seguenti operazioni:
Unione di modifiche tra diramazioni
Lettura dei file nell'area di lavoro
Archiviazione di nuove versioni di un file.
Tipi di conflitto
Questo argomento contiene informazioni sui seguenti tipi di conflitto:
Conflitto di versione
Conflitto di collisione di nomi di file
Conflitto di sovrascrittura locale
Conflitto di versione
I conflitti di versione si possono verificare in Controllo della versione di Team Foundation durante un'operazione di archiviazione, lettura o unione. In ciascun caso, l'evoluzione di un elemento lungo percorsi divergenti comporta un conflitto.
Archiviazione Due utenti estraggono l'ultima versione di un file. Il primo utente archivia le modifiche creando una nuova versione del file. Quando il secondo utente tenta di eseguire un'archiviazione, si verifica un conflitto di versione poiché le modifiche del secondo utente non sono state apportate all'ultima versione del file.
Lettura Due utenti estraggono l'ultima versione di un file. Il primo utente archivia le modifiche creando una nuova versione del file. Quando il secondo utente esegue un'operazione di lettura dell'ultima versione, si verifica un conflitto di versione poiché l'operazione di lettura tenta di aggiornare il file estratto nell'area di lavoro.
Unione Un file diramato è stato modificato in entrambe diramazioni. Un utente tenta di unire le modifiche da una diramazione all'altra. Si verifica un conflitto di versione poiché il file è stato modificato in entrambe le diramazioni.
La risoluzione dei conflitti di versione prevede l'unione delle modifiche o la selezione di un insieme di modifiche che prevale sull'altro. Per ulteriori informazioni, vedere Procedura: risolvere conflitti tra due file.
Conflitti di versione
Modifica locale/origine |
Modifica server/destinazione |
Opzioni di risoluzione (Leggi o Archivia) |
Opzioni di risoluzione (Unisci) |
---|---|---|---|
Modifica Rinomina Annulla Elimina |
Modifica Rinomina Annulla Elimina |
Unisci automaticamente modifiche (se non sono presenti conflitti) Unisci modifiche nello strumento di unione Annulla modifiche locali Ignora modifiche del server |
Unisci automaticamente modifiche (se non sono presenti conflitti) Unisci modifiche nello strumento di unione Mantieni modifiche nella diramazione di destinazione Copia elemento dalla diramazione di origine È la selezione predefinita. |
|
Elimina |
Ripristina file e unisci automaticamente le modifiche (se non sono presenti conflitti) Ripristina file e unisci le modifiche nello strumento di unione Annulla modifiche locali Ripristina file mantenendo le modifiche |
Ripristina file e unisci automaticamente le modifiche (se non sono presenti conflitti) Ripristina file e unisci le modifiche nello strumento di unione Ignora modifiche dalla diramazione di origine Copia elemento dalla diramazione di origine |
Elimina |
Modifica Rinomina Annulla Elimina |
Annulla modifiche locali Ignora modifiche del server |
Ignora modifiche dalla diramazione di origine Elimina elemento nella diramazione di destinazione |
|
Elimina |
Annulla modifiche locali |
Ignora modifiche dalla diramazione di origine |
|
|
|
Ignora conflitti (indica che non verranno intraprese azioni per i conflitti di quel tipo) |
Conflitto di collisione di nomi di file
Le collisioni di nomi di file si possono verificare in Controllo della versione di Team Foundation durante un'operazione di archiviazione, lettura o unione. In tutti e tre i casi, il conflitto si verifica quando due o più elementi tentano di occupare lo stesso percorso sul server del controllo del codice sorgente.
Archiviazione Ciascuno di due utenti aggiunge un file alla stessa applicazione. Casualmente, i due utenti scelgono lo stesso nome per i nuovi file. Un utente archivia il proprio file. Quando il secondo prova un'archiviazione, si verifica un conflitto di nome di file.
Lettura Due utenti aggiungono file con nomi identici a un'applicazione. Un utente archivia il file. Quando il secondo tenta un'operazione di lettura dell'ultima versione, si verifica un conflitto di nome di file. Questo problema si verifica perché non è possibile recuperare il file del primo utente dove il secondo utente ha aggiunto un file.
Unione Un file è stato diramato e successivamente utilizzato in entrambe le diramazioni. È stato aggiunto un file con lo stesso nome in entrambe le diramazioni. Un utente tenta di unire le modifiche da una diramazione all'altra. Si verifica un conflitto di nome di file poiché il file aggiunto alla diramazione di origine non può essere diramato dove è già stato aggiunto un file alla diramazione di destinazione.
Il conflitto di nome di file può essere il risultato di qualsiasi operazione in cui si aggiungono o si spostano elementi nello spazio dei nomi del percorso del server. Sono incluse operazioni quali l'aggiunta, la ridenominazione, la creazione di rami, l'annullamento di eliminazioni e l'unione.
Per risolvere i conflitti di nome di file, è necessario selezionare l'elemento che effettivamente occuperà il percorso del server del controllo del codice sorgente. Per ulteriori informazioni, vedere Procedura: risolvere conflitti tra due file.
Conflitti di collisione di nomi di file
Modifica locale/origine |
Modifica server/destinazione |
Opzioni di risoluzione (Leggi o Archivia) |
Opzioni di risoluzione (Unisci) |
---|---|---|---|
Aggiungi Dirama Rinomina Annulla Elimina |
Aggiungi Dirama Rinomina Annulla Elimina |
Annulla modifiche locali Ignora conflitto |
Ignora modifiche dalla diramazione di origine Ignora conflitto |
|
|
|
Ignora conflitti (indica che non verranno intraprese azioni per i conflitti di quel tipo) È l'opzione predefinita. |
Conflitto di sovrascrittura locale
I conflitti di sovrascrittura locale si verificano in Controllo della versione di Team Foundation solo durante un'operazione di lettura. Tali conflitti vengono creati quando un'operazione di lettura tenta di sovrascrivere un file modificabile presente nell'area di lavoro. Per impostazione predefinita, l'operazione di lettura sostituisce solo i file di sola lettura. La risoluzione dei conflitti di sovrascrittura locale prevede la sovrascrittura del file oppure l'estrazione del file con la successiva unione delle modifiche.
File modificabili
Modifica locale/origine |
Modifica server/destinazione |
Opzioni di risoluzione (Leggi o Archivia) |
Opzioni di risoluzione (Unisci) |
---|---|---|---|
Non applicabile |
Non applicabile |
Sovrascrivi file/cartella locale Ignora conflitto |
Non applicabile |
|
|
|
Ignora conflitti (indica che non verranno intraprese azioni per i conflitti di quel tipo) È l'opzione predefinita. |
Nota: |
---|
Non è possibile utilizzare la finestra di dialogo Risolvi conflitti selezionati per risolvere conflitti di versione che richiedono un strumento di unione per la risoluzione. Questa finestra di dialogo non contiene l'opzione che consente di unire le modifiche in uno strumento di unione. Inoltre, se si seleziona Unisci automaticamente modifiche e si trovano conflitti nel contenuto interno, non è possibile richiamare lo strumento di unione. Verrà invece visualizzata la finestra di dialogo Conflitti non risolti che informa che è necessario risolvere individualmente alcuni file. Se non è possibile risolvere un solo file, la finestra di dialogo includerà il nome del file. Se c'è più di un file non risolto, la finestra di dialogo includerà il numero di file. |
Queste sono le opzioni di confronto:
Tipo di conflitto |
Modifica del codice sorgente |
Opzioni di confronto (Leggi o Archivia) |
Opzioni di confronto (Unisci) |
---|---|---|---|
Versione |
Modifica Rinomina Annulla Elimina |
Locale con server Locale con originale Server con originale |
Origine con destinazione Origine con base Destinazione con base |
|
|
Locale con eliminato Locale con originale Eliminato con originale |
Origine con eliminato Origine con base Eliminato con versione base |
|
Elimina |
Originale con server |
Eliminato con destinazione |
|
|
Non applicabile |
Non applicabile |
Conflitto nel nome file |
Aggiungi Dirama Rinomina Annulla Elimina |
Locale con server |
Origine con destinazione |
File modificabile |
Non applicabile |
Non applicabile |
Non applicabile |
Vedere anche
Attività
Procedura: risolvere conflitti tra due file
Procedura: ottenere il codice sorgente per il progetto team
Procedura: archiviare le modifiche in sospeso