Le sincronizzazioni dello spazio di lavoro CVS avviate utilizzando il commando del menu Team > Sincronizza o il comando della barra degli strumenti Sincronizza nella prospettiva Team verranno visualizzate nella vista Sincronizzazione. Questa vista consente di esaminare le differenze tra le risorse del workbench locali e le controparti remote nonché di aggiornare le risorse presenti nel workbench ed eseguire il commit delle risorse dal workbench in un repository.
La Sincronizzazione dello spazio di lavoro CVS nella vista Sincronizzazione ha il seguente aspetto:
Di seguito viene riportato un breve riepilogo di alcune delle funzioni della vista Sincronizzazione.
La vista Sincronizzazione mostra lo stato di sincronizzazione delle risorse presenti nello spazio di lavoro in confronto a quelle nel repository. Questo stato viene visualizzato mediante icone è può anche essere configurato per mostrare lo stato come testo accodato al nome della risorsa. Una descrizione delle icone viene mostrata nella tabella sottostante:
![]() |
Una aggiunta in entrata indica che una risorsa è stata aggiunta al repository. Aggiornamento trasferirà la risorsa nello spazio di lavoro. |
![]() |
Una modifica in entrata indica che il file è stato modificato nel repository. Aggiornamento trasferirà la nuova revisione del file nello spazio di lavoro. |
![]() |
Una eliminazione in entrata indica che una risorsa è stata cancellata dal server. Aggiornamento eliminerà la risorsa locale. |
![]() |
Una aggiunta in uscita indica che il file è stato aggiunto nello spazio di lavoro, ma non ancora nel repository. Aggiornamento e poi Esecuzione del commit trasferirà il nuovo file nel repository. |
![]() |
Una modifica in uscita indica che il file è stato cambiato in locale. Esecuzione del commit sul file trasferirà le modifiche al repository e creerà una nuova revisione del file. |
![]() |
Una eliminazione in uscita indica che una risorsa è stata cancellata in locale. Esecuzione del commit su questa risorsa causa l'eliminazione della risorsa remota. Nota: in CVS le directory non sono mai realmente eliminate dal repository. Al contrario, sono eliminati i file mentre le directory vuote sono rimosse dallo spazio di lavoro. |
![]() |
Una aggiunta in conflitto indica che la risorsa è stata aggiunta in locale e in remoto. |
![]() |
Una modifica in conflitto indica che il file è stato modificato in locale e in remoto. L'utente dovrà effettuale un'unione manuale o automatica. Inoltre, le voci della vista contenenti elementi figlio in conflitto verranno decorare con l'icona di conflitto. Ciò serve a trovare facilmente i conflitti. |
![]() |
Una eliminazione in confitto indica che la risorsa è stata eliminata in locale e in remoto. |
La vista Sincronizzazione può essere filtrata utilizzando una serie di modalità che utilizzano le azioni della barra degli strumenti o le voci di menu del menu a discesa della vista. Le modalità possono essere utilizzare per mostrare solo le modifiche in entrata, in uscita o in conflitto. Le modalità offrono i seguenti vantaggi:
Importante: è preferibile per prima cosa aggiornare le risorse nel workbench, risolvere eventuali conflitti esistenti mediante l'unione e, quindi, eseguire il commit delle risorse del workbench nel repository.
La vista Sincronizzazione è in grado di visualizzare differenti rappresentazioni di modelli delle risorse. Ogni prodotto potrebbe contenere le proprie rappresentazioni specifiche. Eclipse SDK viene fornito con tre modelli:
Oltre ai modelli esiste anche una Presentazione semplice che visualizza tutti gli elementi non sincronizzati come elementi di livello superiore.
Esistono diversi tipi di operazioni di aggiornamento e commit disponibili nella vista Sincronizzazione. È possibile eseguire un'operazione di aggiornamento e commit standard su tutte le modifiche applicabili visibili o un un sottoinsieme selezionato. È anche possibile decidere di eseguire sostituzione e aggiornamento, ignorando le modifiche locali, oppure sostituzione e commit, facendo in modo che la risorsa remota corrisponda al contenuto della risorsa locale. È inoltre possibile decidere di eliminare la data/ora per i file modificati localmente (forse da uno strumento di creazione esterno) ma i cui contenuti corrispondono a quelli del server.
Quando si ha a che fare con i conflitti, è possibile prima eseguire un aggiornamento ed eventuali modifiche in conflitto. L'operazione di aggiornamento aggiornerà correttamente i conflitti che è possibile unire automaticamente (ad esempio le modifiche del contenuto di un file non vengono sovrapposte) ma ignorerà i file contenenti modifiche che si sovrappongono. In alternativa, i conflitti possono essere gestiti mediante l'utilizzo di un editor di confronto. Un editor di confronto può essere aperto facendo doppio clic (o semplicemente clic se la strategia di apertura è stata modificata nelle preferenze) sul conflitto oppure scegliendo Apri nell'editor di confronto dal menu di scelta rapida. L'editor di confronto consente di risolvere manualmente i conflitti presenti nel file. Al termine delle operazioni, selezionare Contrassegna come unito sul conflitto per indicare che le operazioni sono state completate. Questa azione modificherà il conflitto in una modifica in uscita.
La vista Sincronizzazione mostrerà gli indicatori di problema errore o avvertenza per qualsiasi modifica, cartella o progetto visualizzati nella vista contenenti una risorsa con un tale indicatore di problema. Ciò avviene per evitare di eseguire il commit delle risorse con problemi nel repository.
Questo comando consente di ripetere la sincronizzazione corrente che recupera lo stato remoto delle risorse. Il menu a discesa dell'elemento della barra degli strumenti consente di selezionare altre sincronizzazioni esistenti o crearne di nuove utilizzando il comando di menu Sincronizza....
Questo comando consente di bloccare o sbloccare la sincronizzazione corrente. Le sincronizzazioni bloccate non verranno sostituite dalla sincronizzazione successiva dello steso tipo, al contrario delle sincronizzazioni sbloccate. Ciò consente di mantenere accessibile una sincronizzazione. Una tale sincronizzazione verrà aggiornata automaticamente quando vengono eseguite le modifiche nelle risorse del workbench e può essere configurata in modo da eseguire gli aggiornamenti pianificati per mantenersi aggiornata con lo stato remoto delle risorse.
Questo elenco a discesa contiene i modelli che è possibile visualizzare nella vista Sinc.
Questo comando consente di andare alla differenza successiva visualizzata dalla vista. Tutte le differenze presenti in un unico file verranno esaminate prima di aprire il file successivo nella vista.
Questo comando consente di andare alla differenza precedente visualizzata dalla vista. Tutte le differenze presenti in un unico file verranno esaminate prima di aprire il file precedente nella vista.
Comprimere tutte le voci estese nella vista.
In questa modalità, sono visibili solo le risorse che sono state modificate nel repository dall'ultima volta che sono state caricate o sincronizzate con quelle presenti nel workbench (modifiche in entrata).
In questa modalità, verranno mostrate solo le risorse che sono state modificate nel workbench (modifiche in uscita).
In questa modalità vengono mostrate sia le modifiche in entrata che quelle in uscita ed è possibile aggiornare ed eseguire il commit di entrambe. Il vantaggio di utilizzare la doppia modalità consiste nel poter eseguire entrambe le attività. Lo svantaggio è dovuto al fatto che l'esecuzione di un'unione simultanea bidirezionale è spesso complicata.
In questa modalità, vengono visualizzati solo i conflitti (risorse modificate nel workbench e nel repository).
Questo comando aggiorna tutte le modifiche in entrata visibili nella vista. Il comando aggiornerà anche i conflitti che è possibile unire automaticamente ma ignorerà i file contenenti conflitti.
Questo comando esegue il commit di tutte le modifiche in uscita visibili nella vista. I conflitti non sono inclusi nel commit.
Il menu a discesa consente di rimuovere o bloccare le sincronizzazioni correnti o tutte le sincronizzazioni, modificare la modalità o il layout, ripristinare le voci rimosse dalla vista, configurare la sincronizzazione corrente per eseguire aggiornamenti pianificati e impostare altre preferenze della vista.
Dal menu di scelta rapida della vista Sincronizzazione è possibile eseguire una serie di operazioni interessanti.
Questo comando apre la risorsa locale per la modifica selezionata nell'editor del workbench predefinito per il tipo di file.
Questo comando consente di aprire la risorsa locale per la modifica selezionata in un editor del workbench.
Questo comando apre la modifica selezionata in un editor di confronto che consente di esaminare le modifiche presenti nel file.
Questo menu consente la ridenominazione, l'eliminazione, lo spostamento e la copia delle risorse.
Questo comando aggiorna lo stato remoto delle risorse selezionate. Inoltre questo comando regola la data/ora delle modifiche in uscita i cui contenuti corrispondono già ai contenuti della risorsa corrispondente sul server in modo tale che il file non sia più una modifica in uscita. Questo comando è utile in situazioni in cui gli strumenti di creazione rigenerano file i cui contenuti non sono stati modificati.
Questo comando rimuove le risorse selezionate dalla vista. Le risorse vengono nuovamente visualizzate se lo stato delle risorse rimosse cambia, se viene riavviato il workbench o se viene richiamata l'azione Ripristina elementi rimossi dal menu a discesa.
Questo comando espande gli elementi figlio della risorsa selezionata.
Questo comando aggiorna le risorse selezionate. I conflitti possono essere inclusi in un'operazione di aggiornamento ma verranno aggiornati solo i conflitti che è possibile unire automaticamente. Gli altri conflitti verranno ignorati e uniti manualmente utilizzando un editor di confronto.
Questo comando esegue il commit delle risorse selezionate. È possibile eseguire il commit solo delle modifiche in uscita.
Questo comando agisce sui conflitti e sulle modifiche in uscita e sostituisce i contenuti locali delle risorse con i contenuti del server.
Questo comando regola la data/ora CVS delle modifiche in conflitto in modo da renderle modifiche in uscita. Questo comando dovrebbe essere eseguito dopo l'unione manuale dei conflitti mediante l'utilizzo di un editor di confronto.
Questo comando aggiungerà la risorsa selezionata all'elenco .cvsignore che indicherà a CVS di ignorare la risorsa durante tutte le operazioni CVS.
Questo comando visualizzerà la procedura guidata Creazione patch e inserirà al suo interno le risorse selezionate.
Questo comando creerà una nuova sezione e una nuova tag branch che è possibile utilizzare per unire la sezione a quella di origine.
A seconda delle preferenze di Annotazione, questo comando attiva l'annotazione Differenza rapida o apre la vista Annotazione per la risorsa selezionata.
Questo comando mostra la cronologia per la risorsa selezionata.
Questo comando aprirà una finestra di dialogo contenente tutte le risorse selezionate. È quindi possibile modificare la proprietà ASCII/binaria per ogni risorsa.
Programmazione in team con CVS
Sincronizzazione con un repository CVS

Sincronizzazione con il repository
Aggiornamento
Risoluzione dei conflitti
Unione da una sezione
Esecuzione del commit
Confronto di risorse
Unione delle modifiche nell'editor di confronto