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 visualizzate saranno specifiche per la sezione che il progetto del workbench è configurato a condividere. L'utente stabilisce quando 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). Corrisponde al funzionamento della riga comandi CVS ma può generare problemi se unito al 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. Esistono due comandi per l'aggiornamento (disponibili dal menu di scelta rapida di tutte le risorse della vista) per gestire i diversi tipi di conflitto: Aggiorna e Sostituisci e aggiorna. Quando si seleziona il comando Aggiorna nella vista Sincronizzazione, verranno elaborate tutte le modifiche selezionate in entrata e con conflitti che possono essere uniti automaticamente, mentre i conflitti che non possono essere uniti automaticamente non verranno aggiornati (i file elaborati correttamente verranno rimossi dalla vista). Il comando Sostituisci e aggiorna agisce sui conflitti e sostituisce le risorse locali 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 Sostituisci 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: nella vista Sincronizzazione, la selezione della versione originale di un insieme di modifiche in entrata comporterà l'esecuzione dell'operazione su tutti gli elementi secondari appropriati. Ad esempio, selezionando la cartella principale e scegliendo Aggiorna verranno elaborate tutte le modifiche in entrata e con conflitti che possono unirsi automaticamente e non verranno elaborate tutte le altre modifiche in entrata.
Attenzione: la funzione del comando Sostituisci e aggiorna descritto sopra si applica solo alla modalità in entrata della vista Sincronizzazione. Nella modalità In entrata/In uscita della vista, il comportamento per le modifiche in entrata ed i conflitti è lo stesso ma il comando ripristinerà le modifiche in uscita al contenuto del repository. Prestare molta attenzione se si usa questo comando in modalità In entrata/In uscita.
Programmazione in team con CVS
Sincronizzazione con un repository CVS
Esecuzione del commit
Risoluzione dei conflitti
Confronto di risorse
Durata del controllo versione: aggiunta ed esclusione di risorse