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:
- Selezionare la risorsa che contiene le modifiche da includere nella patch. You can select resources that reside in multiple projects and at any level
as the Create Patch wizard, when run in its default mode, knows how to create a multi-project
patch. 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).
- Dal menu a comparsa, selezionare Team > Crea patch.... Verrà aperta la procedura guidata Creazione patch.
- Scegliere la posizione in cui salvare la patch:
- 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.
- Salva nel file system - salva la patch nel file specificato
nel file system locale
- 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.
- You can preview and fine tune your patch selection by expanding the Resources tree presented
in the Changes pane. Only those elements which are checked will be included in the patch. Fare clic su Avanti
per configurare la modalità di generazione della patch.
- Scegliere la modalità per configurare la patch:
- 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.
- Patch Root - Allows you to specify at what level your patch is rooted at. The choices
are Workspace, Project and Selection.
Workspace allows you to include resources from multiple projects in your patch and is the default option. Workspace
patches can be applied to any resource in the workspace - they contain enough information to allow the Apply Patch wizard
to figure out which resources need to be patched.
Project patches are rooted at the project level - which means they can only contain resources from one project and must
be applied to the same project.
Selection patches are rooted at whatever the selected resource is and must be applied to the same resource.
- Scegliere Fine.
- Trasferire la patch necessaria per il progetto a cui deve essere applicata.
Per applicare una patch:
- 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.
- Dal menu a comparsa, selezionare Team>Applica patch.... Verrà aperta la procedura guidata per il patcher di risorsa.
- Indicare il percorso in cui individuare la patch:
- 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.
- 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).
- Workspace - the patch has been saved somewhere in the workspace.
Fare clic su Avanti per visualizzare l'effetto dell'applicazione della patch.
-
Optional Step: this step only applies if you have a patch rooted at the project or selection level - workspace
rooted patches will automatically proceed to the Patch Preview Page. In the Patch Target Specification page, you should
select the resource that is to act as the root of the patch.
- The patch preview page shows whether the patch could be successfully applied
to files in your workspace. The top pane shows the list of changes contained in your patch.
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 verrebbero visualizzate le risorse nello spazio di lavoro dopo l'applicazione dell'hunk.
Visualizza solo il contenuto del file patch.
-
Un elemento contrassegnato indica che potrebbe essere applicata una patch (o un hunk) con esito positivo ad
una risorsa dello spazio di lavoro.
È possibile escludere patch o singoli hunk deselezionandoli.
-
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 correttamente 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).
- 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:
-
Ritornare alla prima pagina della procedura guidata per il patcher di risorsa e
selezionare la risorsa corretta a cui deve essere applicata la patch.
-
Se il prefisso comune dei nomi di percorso memorizzati nel file patch non corrisponde
ai nomi di percorso presenti nello spazio di lavoro corrente, è possibile 'Ignorare i segmenti iniziali
del nome di percorso'.
-
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.
-
Regolare il 'Fattore di massima corrispondenza' (terminologia patch).
This factor determines how many lines from the top and bottom of the context
will be ignored when locating a match
The default is two.
-
Utilizzare l'opzione 'Annulla patch' per i file patch già applicati al proprio
spazio di lavoro. Tale opzione è utile anche per annullare o ripristinare una patch.
-
For Workspace patches, use the 'Retarget Patch' to select another project in your workspace
to apply the patch changes to. To do this, select a project in the top pane and click on the
Retarget Patch button. This will launch a dialog with a list of all available projects in your
workspace. Select a project and click OK; the patch changes will be applied to your selected project.

Programmazione in team con CVS

Confronto di risorse

CVS