Condividi tramite


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

Altre risorse

Risoluzione delle differenze tra cartelle e dei conflitti di file (controllo della versione di Team Foundation)