sabato, gennaio 28, 2012

CVS Merging ed Eclipse - Come fare il marging in Head di un proprio BRANCH

Nessun commento:
Pensavo che CVS dopo anni di onorato lavoro fosse morto e sepolto ed invece per un mio progetto che sto seguendo in questi giorni son dovuto tornare sui miei passi e risvegliare i morti :).

Pronti via ecco il primo fantasma palesarmi alla vista...... fare il marging di un branch con l'head del progetto. Mission impossible? No solo un pò noiosa. 
Di seguito i passi da seguire per fare il Merge del proprio BRANCH CVS nell' HEAD (o altro branch) in Eclipse.
Diamo per scontato che quando avete creato il vostro Branck  (Team -> Branch) avete associato un root tag al branch (Eclipse lo fa di default anteponendo "Root_" al nome che state dando al vostro branch). 

CVS utilizza il root tag per determinare quali commit sono pervenuti dal nostro branch e quali invece provenienti da altre fonti (altri branchs o head).

E ora di "Mergiare".
Assicuriamoci che tutte le nostre modifiche siano state committate sul branch e quando tutti i cambiamenti effettuati saranno stati committati nel repository CVS, carichiamo il branch/head di destinazione sul quale vogliamo che tali modifiche vengano commmitate. 
Per fare questo (Team -> Switch to Another Branch or Version) 


Siamo pronti per avviare il processo di Merging.
Selezioniamo il package,il progetto,la classe dalla quale vogliamo recuperare le modifiche e facciamo (Team -> Merge) : 


Si aprirà un'ulteriore finestra con i seguenti campi
Branch or Version to be Merged (end tag) - Questo è il nome che avete dato al branch (es. Mio_Branch)
Common Base Version - Questo invece è il nome che avete dato al root tag (es. Root_Mio_Branch).

Ci sono anche due check box, il primo che è quello che vi da maggior controllo sulle cose da mergiare è Preview the merge in synchronize view, questo check una volta che la sincronizzazione sarà finita vi darà la possibilità di vedere tutte le differenze che estistono tra il vostro branch e quello di destinazione.
Per ciascun file si avrà la possibilità o di fare direttamente il merge o di aprire il tool di comparazione e selezionare le modifiche da importare.
Se si opta per la seconda soluzione ricordarsi di selezionare "Mark as Merged" dal menu che si apre cliccando con il tasto destro del mouse sulla risorsa da mergiare.

Riportiamo le nostre modifiche sull'HEAD.

Finito il processo di merging rimane ancora un passo da compiere che è quello di committare le modifiche importate dal branch sorgente in quello di destinazione. Passare alla Java Perspective  di Eclipse e selezionare (Team -> Synchronize with Repository), la Synchronize Perspective si riaprirà sul branch/head di destinazione e ci basterà fare commit per vedere le nostre modifiche in Produzione.
Fine, spero che questo vi possa aiutare come ha aiutato me.