Sincronizzazione dello spazio di lavoro CVS

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:

Sincronizzazione dello spazio di lavoro CVS

Funzioni

Di seguito viene riportato un breve riepilogo di alcune delle funzioni della vista Sincronizzazione.

Stato di 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:

Icona Aggiunta in entrata Una aggiunta in entrata indica che una risorsa è stata aggiunta al repository. Aggiornamento trasferirà la risorsa nello spazio di lavoro.
Icona Modifica in entrata Una modifica in entrata indica che il file è stato modificato nel repository. Aggiornamento trasferirà la nuova revisione del file nello spazio di lavoro.
Icona Eliminazione in entrata Una eliminazione in entrata indica che una risorsa è stata cancellata dal server. Aggiornamento eliminerà la risorsa locale.
Icona Aggiunta in uscita 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.
Icona Modifica in uscita 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.
Icona Eliminazione in uscita 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.
Icona Aggiunta in conflitto Una aggiunta in conflitto indica che la risorsa è stata aggiunta in locale e in remoto.
Icona Modifica in conflitto 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 secondari in conflitto verranno decorare con l'icona di conflitto. Ciò serve a trovare facilmente i conflitti.
Icona Eliminazione in conflitto Una eliminazione in confitto indica che la risorsa è stata eliminata in locale e in remoto.

Modalità

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.

Layout

Esistono tre opzioni per il layout della vista Sincronizzazione per CVS: Senza effetti, Struttura ad albero e Cartelle compresse.

Navigazione

La vista Sincronizzazione fornisce una serie di azioni della barra degli strumenti per navigare tra le modifiche nella vista. Queste azioni non consentono di navigare solo tra i file ma anche di passare da una modifica a un'altra all'interno di un file.

Operazioni di aggiornamento e commit

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 generazione esterno) ma i cui contenuti corrispondono a quelli del server.

Gestione dei conflitti

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.

Indicatori di problema

La vista Sincronizzazione mostrerà gli indicatori di problema errore o avviso 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.

Barra degli strumenti

Sincronizza

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....

Blocca la sincronizzazione corrente

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.

Vai alla differenza successiva

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.

Vai alla differenza precedente

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.

Comprimi tutto

Comprimere tutte le voci estese nella vista.

Modalità in entrata

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).

Modalità in uscita

In questa modalità, verranno mostrate solo le risorse che sono state modificate nel workbench (modifiche in uscita).

Modalità in entrata/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.

Modalità conflitti

In questa modalità, vengono visualizzati solo i conflitti (risorse modificate nel workbench e nel repository).

Aggiorna tutte le modifiche in entrata

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.

Esegui il commit di tutte le modifiche in uscita

Questo comando esegue il commit di tutte le modifiche in uscita visibili nella vista. I conflitti non sono inclusi nel commit.

Insiemi di modifiche

Gli insiemi di modifiche possono essere abilitati in modalità in entrata e in uscita.

Menu a discesa

Il menu a discesa consente di rimuovere le sincronizzazioni correnti o tutte le sincronizzazioni, modificare la modalità o il layout, configurare la sincronizzazione corrente per eseguire aggiornamenti pianificati e impostare altre preferenze della vista.

Menu di scelta rapida

Dal menu di scelta rapida della vista Sincronizzazione è possibile eseguire una serie di operazioni interessanti.

Apri nell'editor di confronto

Questo comando apre la modifica selezionata in un editor di confronto che consente di esaminare le modifiche presenti nel file.

Apri

Questo comando apre la risorsa locale per la modifica selezionata nell'editor del workbench predefinito per il tipo di file.

Apri con

Questo comando consente di aprire la risorsa locale per la modifica selezionata in un editor del workbench.

Sincronizza

Questo comando aggiorna lo stato remoto delle risorse selezionate.

Rimuovi dalla vista

Questo comando rimuove le risorse selezionate dalla vista. Le risorse vengono nuovamente visualizzate se lo stato delle risorse rimosse cambia oppure se viene riavviato il workbench.

Aggiorna

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.

Esegui il commit

Questo comando esegue il commit delle risorse selezionate. È possibile eseguire il commit solo delle modifiche in uscita.

Sostituisci e aggiorna

Questo comando agisce sui conflitti e sulle modifiche in uscita e sostituisce i contenuti locali delle risorse con i contenuti del server.

Sostituisci ed esegui il commit

Questo comando agisce sui conflitti e sulle modifiche in entrata e sostituisce i contenuti del server con i contenuti delle controparti locali.

Contrassegna come unito

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.

Cancella data/ora

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 generazione rigenerano file i cui contenuti non sono stati modificati.

Argomenti correlati
Programmazione in team con CVS
Sincronizzazione con un repository CVS  

Attività correlate
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

Riferimenti correlati
CVS
Editor di confronto