Utilizzo delle patch

Le patch consentono agli sviluppatori di condividere il lavoro senza doverlo memorizzare in un repository. Ciò risulta utile nel caso in cui uno sviluppatore desideri partecipare a un progetto condiviso attraverso un repository ma non disponga di accesso in scrittura al repository. In tale situazione, lo sviluppatore può creare una patch e inviarla tramite posta elettronica a un altro sviluppatore che dispone di accesso in scrittura o allegarla a un errore nel sistema di segnalazione degli errori utilizzato dal progetto, a seconda del processo definito da quest'ultimo. Lo sviluppatore con accesso in scrittura può, quindi, applicare la patch al progetto ed eseguire il commit delle modifiche.

Per creare una patch da un progetto CVS:

  1. Selezionare la risorsa che contiene le modifiche da includere nella patch. Anche se la selezione può riguardare qualsiasi cartella, è più semplice selezionare il progetto stesso, poiché la patch deve essere applicata alla stessa risorsa da cui è generata. La patch deve essere applicata anche alle stesse revisioni del file in cui è generata, per cui sono necessarie delle operazioni per assicurare che la patch venga applicata fino allo stato attuale della stessa risorsa (il modo più semplice per eseguire tale operazione consiste nel creare la patch all'inizio di una versione).
  2. Dal menu di scelta rapida, selezionare Team > Crea patch.... Verrà aperta la procedura guidata Creazione patch.
  3. Scegliere la posizione in cui salvare la patch:
    1. Salva negli Appunti - salva la patch negli appunti in modo che possa essere incollata in un editor di testo quale un programma di posta elettronica.
    2. Salva nel file system - salva la patch nel file specificato nel file system locale
    3. Salva nello spazio di lavoro - salva la patch nel file specificato all'interno di uno dei progetti esistenti del workbench
    Per le patch di piccole dimensioni è opportuno trasferire la patch utilizzando gli appunti, ma nella maggior parte dei casi il file system locale rappresenta l'opzione più adatta da utilizzare. Fare clic su Avanti per configurare la modalità di generazione della patch.
  4. Scegliere la modalità per configurare la patch:
    1. Includi nelle sottocartelle - se disattivata, solo gli elementi secondari diretti della selezione vengono inclusi nella patch. In caso contrario, vengono inclusi tutti gli elementi secondari.
    2. Includi nuovi file nella patch - se disattivata, vengono inclusi solo i file sottoposti al controllo versioni CVS. In caso contrario, verranno inclusi anche i file recentemente creati ma non quelli aggiunti o ignorati.
    3. Formato di output differente - consente la scelta di vari formati di output differenti. Unificato è il formato utilizzato da molti strumenti di applicazione delle patch, incluso Eclipse.
  5. Scegliere Fine.
  6. Trasferire la patch necessaria per il progetto a cui deve essere applicata.

Per applicare una patch:

  1. Selezionare la risorsa in cui è stata generata la patch. Tale risorsa deve contenere le stesse revisioni del file presenti nello stato attuale in cui la patch è stata generata.
  2. Dal menu di scelta rapida, selezionare Team>Applica patch.... Verrà aperta la procedura guidata Patcher di risorsa.
  3. Indicare il percorso in cui individuare la patch:
    1. File - la patch si trova in un file nel file system locale. Immettere il percorso completo del file o utilizzare il pulsante Sfoglia... per individuare il file.
    2. Appunti - la patch si trova negli appunti. Attenzione: è opportuno utilizzare una patch su base file. I caratteri di fine riga potrebbero non essere gestiti in modo corretto se vengono utilizzati gli appunti e la patch è stata generata su una piattaforma differente (ad esempio, Linux invece di Windows).
    Fare clic su Avanti per visualizzare l'effetto dell'applicazione della patch.
  4. Il riquadro superiore di tale pagina indica se la patch viene applicata correttamente nei file dello spazio di lavoro. Se si seleziona un elemento secondario della struttura, il riquadro inferiore mostra la porzione del file patch nota come 'hunk' nella terminologia delle patch in una presentazione affiancata di facile lettura. Nota: il riquadro inferiore non mostra un'anteprima di come vengono visualizzate le risorse nello spazio di lavoro dopo l'applicazione dell'hunk, ma visualizza solo il contenuto del file patch.
    1. La selezione di un elemento consente di applicare validamente una patch (o un hunk) a una risorsa dello spazio di lavoro. È possibile escludere patch o singoli hunk deselezionandoli.
    2. Un punto esclamativo rosso indica che esiste un problema con una patch o un hunk.
      Ciò si verifica se la patch non è corretta o se la revisione di uno o più file in cui è stata generata la patch non corrisponde alle revisioni a cui viene applicata la patch.
      Il causa del problema viene mostrata in parentesi.

      Per poter applicare validamente l'intera patch, sarà necessario eliminare i problemi (punti esclamativi rossi) e selezionare ovunque gli elementi estendendo le opzioni di questa pagina della procedura guidata (vedere 'Opzioni' in basso).

  5. Se non si verificano problemi, fare clic su Fine per applicare la patch. Lo spazio di lavoro conterrà ora le modifiche in uscita relative a ciascun file modificato dalla patch.

Opzioni per l'applicazione di una patch

Sono disponibili le seguenti opzioni per ottenere corrispondenze valide per il file patch:
  1. Ritornare alla prima pagina della procedura guidata Patcher di risorsa e selezionare la risorsa corretta a cui deve essere applicata la patch.
  2. Se il prefisso comune dei nomi di percorso memorizzati nel file patch non corrisponde ai nomi di percorso presenti nell'area di lavoro corrente, è possibile 'Ignorare i segmenti iniziali del nome di percorso'.
  3. Utilizzare l'opzione 'Ignora spazi' per far sì che il processo di corrispondenza sia indipendente dalle differenze di spazi vuoti tra il file patch e i file nello spazio di lavoro.
  4. Regolare il 'Fattore di massima corrispondenza' (terminologia patch). Tale fattore determina la distanza di corrispondenza consentita a un 'hunk' dalla propria riga originale. L'impostazione predefinita è due. Pertanto, se un 'hunk' non corrisponde alla riga determinata nel file patch, il Patcher di risorsa tenta di far corrispondere il numero di righe di 'corrispondenza' dell'hunk prima o dopo la posizione.
  5. Utilizzare l'opzione 'Annulla patch' per i file patch già applicati alla propria area di lavoro. Tale opzione è utile anche per annullare o ripristinare una patch.

Argomenti correlati
Programmazione in team con CVS

Attività correlate
Confronto di risorse

Riferimenti correlati
CVS

 
Copyright IBM Corporation e altri 2000, 2003.