Aggiornamento

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:

  1. Nella vista Selezione, selezionare le risorse che si desidera aggiornare.
  2. Dal menu di scelta rapida relativo alle risorse selezionate, selezionare Team > Sincronizza con repository. Verrà aperta la vista Sincronizzazione.
  3. Nella barra degli strumenti della vista Sincronizzazione, fare clic sul pulsante della modalità in entrata per filtrare tutte le risorse del workbench modificate (modifiche in uscita) che possono essere presenti.

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:

  1. Il riquadro Confronto di strutture situato nella parte superiore della vista Sincronizzazione contiene la gerarchia delle risorse che presentano modifiche in entrata.
  2. Selezionare i file non in conflitto e scegliere Aggiorna da repository dal menu di scelta rapida. Ciò consentirà di aggiornare le risorse selezionate e di rimuoverle dalla vista.
  3. Selezionare i conflitti che possono essere uniti automaticamente e scegliere Sovrascrivi e aggiorna dal menu di scelta rapida. Scegliere di aggiornare solo le risorse che possono essere unite automaticamente e fare clic su OK quando verrà richiesto. Ciò consentirà di aggiornare le risorse selezionate e di rimuoverle dalla vista.

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:

  1. Nel riquadro Confronto di strutture, se è presente un conflitto nell'elenco delle risorse (rappresentato da frecce rosse), selezionarlo.
  2. Nell'area di confronto del testo della vista Sincronizzazione, i dati del workbench locale vengono presentati a sinistra, mentre i dati della sezione del repository a destra. Esaminare le differenze tra i due tipi di dati.
  3. Utilizzare l'area di confronto del testo per unire le modifiche. È possibile copiare le modifiche dalla revisione del file del repository nella copia del file del workbench e salvare il file del workbench unito (mediante il menu di scelta rapida del riquadro sinistro).
  4. Una volta completata l'unione delle modifiche remote nel file locale, scegliere Contrassegna come unito dal menu di scelta rapida. Ciò consentirà di contrassegnare il file locale come aggiornato e di eseguire il commit delle modifiche.

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.

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

Attività correlate
Esecuzione del commit
Risoluzione di conflitti
Confronto di risorse
Durata del controllo versioni: aggiunta ed esclusione di risorse

Riferimenti correlati
CVS
Vista Sincronizzazione

 
Copyright IBM Corporation e altri 2000, 2003.