Mentre si lavora su un progetto nel workbench, altri membri del team possono eseguire il commit delle modifiche nella copia del progetto presente nel repository. Per poter utilizzare queste modifiche, è possibile "aggiornare" il workbench in modo che corrisponda allo stato della sezione. Le modifiche che verranno visualizzate saranno specifiche della sezione da condividere in base alla configurazione del progetto del workbench. L'utente stabilisce il momento in cui effettuare l'aggiornamento.
Il comando di aggiornamento può essere emesso da due posizioni: il menu Team > Aggiorna o la vista Sincronizzazione. Per comprendere la differenza tra questi due comandi, è importante conoscere i tre diversi tipi di modifiche in entrata.
Quando si seleziona Team > Aggiorna, il contenuto delle risorse locali verrà aggiornato con le modifiche in entrata di tutti e tre i tipi di cui sopra. Per i non conflitti e i conflitti che è possibile unire automaticamente, non vi è alcuna ulteriore azione necessaria (per i conflitti che è possibile unire automaticamente, la risorsa locale modificata viene spostata in un file con il prefisso ".#" solo nel caso in cui l'unione automatica non sia avvenuta nel modo desiderato dall'utente). Tuttavia, per i conflitti che non è possibile unire automaticamente, i conflitti vengono uniti nella risorsa locale mediante uno speciale testo di markup specifico di CVS (per i file ASCII) oppure la risorsa locale modificata viene spostata in un file con il prefisso ".#" (per i file binari). Ciò è corrispondente al funzionamento della riga comandi CVS ma può generare problemi se combinato con il meccanismo di generazione automatica di Eclipse. Inoltre, prima di aggiornare qualsiasi risorsa locale è spesso opportuno conoscere le modifiche in entrata esistenti. Questi aspetti sono mostrati dalla vista Sincronizzazione.
Per aprire la vista Sincronizzazione in modalità in entrata:
Nella modalità in entrata, verranno visualizzate le modifiche di cui è stato eseguito il commit nella sezione dall'ultimo aggiornamento effettuato. La vista indicherà il tipo a cui appartiene ciascuna modifica in entrata (non in conflitto, in conflitto che è possibile unire automaticamente o in conflitto che non è possibile unire automaticamente). Esistono due comandi per l'aggiornamento (disponibili dal menu di scelta rapida di tutte le risorse della vista) per gestire i diversi tipi di conflitti: Aggiorna da repository e Sovrascrivi e aggiorna. Quando si seleziona il comando Aggiorna da repository nella vista Sincronizzazione, vengono elaborate solo le modifiche non in conflitto, mentre i file che presentano i conflitti che possono essere uniti automaticamente o quelli che non possono essere uniti automaticamente rimangono all'interno della vista (tutti i file la cui elaborazione è stata completata vengono, invece, rimossi dalla vista). Il comando Sovrascrivi e aggiorna agisce sui due tipi di conflitto. Una volta selezionato questo comando, all'utente verrà richiesto, prima che venga tentata un'unione, se desidera unire automaticamente il contenuto o sovrascriverlo con il file di repository. Se si sceglie di effettuare l'unione automatica, verranno elaborati solo i conflitti che possono essere uniti automaticamente e le modifiche in entrata verranno unite automaticamente con quelle locali. In caso contrario, verranno elaborati tutti i conflitti e le risorse locali verranno sostituite con il contenuto remoto. Questa funzione "di sostituzione" non costituisce il metodo più adatto. Di seguito viene descritta un'alternativa possibile.
Per aggiornare i file non in conflitto e che possono essere uniti automaticamente:
Se il workbench locale contiene tutte le modifiche in uscita che non possono essere unite automaticamente con quelle in entrata della sezione, invece di eseguire un Sovrascrivi e aggiorna, è possibile unire le differenze manualmente all'interno del workbench, nel modo riportato di seguito:
Nota: il contenuto del repository non viene modificato quando si effettua l'aggiornamento. Quando si accettano modifiche in entrata, tali modifiche vengono applicate al workbench. Il repository viene modificato solo quando si esegue il commit delle modifiche in uscita.
Suggerimento: nel riquadro Confronto di strutture, la selezione di una versione originaria di un insieme di modifiche in entrata comporterà l'esecuzione dell'operazione su tutti gli elementi secondari appropriati. Ad esempio, selezionando la cartella attiva e scegliendo Aggiorna da repository verranno elaborate tutte le modifiche in entrata che non sono in conflitto e tutte le altre resteranno non elaborate.
Attenzione: la funzione del comando Sovrascrivi e aggiorna descritto sopra si applica solo alla modalità in entrata della vista Sincronizzazione. Nella modalità in entrata/in uscita della vista, la funzione relativa alle modifiche in entrata e ai conflitti è identica, ma il comando ripristinerà le modifiche in uscita in tutto il contenuto del repository. Prestare molta attenzione se si utilizza questo comando in modalità in entrata/in uscita.
Programmazione in team con CVS
Sincronizzazione con un repository CVS
Esecuzione del commit
Risoluzione di conflitti
Confronto di risorse
Durata del controllo versioni: aggiunta ed esclusione di risorse