Come faccio a verificare le modifiche al codice che sono il risultato della sincronizzazione?

1

Al mio attuale lavoro sviluppiamo il codice su un ramo di rilascio e quindi eseguiamo una revisione del codice. Dopo aver eseguito tutte le modifiche, anche le modifiche finali vengono sincronizzate / unite al "ramo principale". Vogliamo essere sicuri che tutte le modifiche siano sincronizzate correttamente. Che cosa è un buon modo per rivedere questo lavoro di sincronizzazione ?

Nota: le versioni iniziali dei file nel ramo di rilascio e 'ramo principale' possono essere diverse. Pertanto, non sempre aiuta a confrontare l'ultima versione nel ramo di rilascio con l'ultima versione nel ramo principale. (Tu vedi ancora le "differenze iniziali" tra i due rami, anche se non vedi più "modifiche di sincronizzazione").

La mia idea era di confrontare il "delta" sul ramo di rilascio con il "delta" sul ramo principale. Utilizzando lo strumento diff di GNU posso generare questi due delta e quindi confrontarli in uno strumento di confronto dei file. È una buona idea?

Nota: utilizziamo ClearCase.

Giusto per chiarire: non possiamo (o non vogliamo) rebase il rilascio brach al ramo principale, solo per la revisione del codice. Questo sarebbe di nuovo un modo possibile per commettere errori. Il ramo di rilascio contiene il codice che i nostri clienti gestiscono. Il ramo principale è utilizzato per la divisione di nuove filiali di rilascio in futuro.

    
posta compie 20.11.2014 - 13:44
fonte

1 risposta

2

Dovresti aggiornare la tua versione del ramo principale con l'ultima versione del ramo principale, inserendo le modifiche che si sono verificate da quando ti sei staccato per il tuo ramo di funzione. Una volta fatto questo, puoi confrontare le tue differenze da solo.

Esempio utilizzando git:

Primo git rebase (o git merge ma preferisco git rebase in caso di conflitti di codice) il ramo di funzione contro il ramo principale. Dovrai risolvere eventuali conflitti di codice.

Quindi puoi fare un git diff direttamente al ramo principale.

NB. Esegui prima un git fetch per assicurarti di eseguire rebase / merge e diff contro l'ultima versione del ramo principale.

Non conosco la sintassi per ClearCase ma il processo sarà probabilmente simile.

    
risposta data 20.11.2014 - 13:56
fonte

Leggi altre domande sui tag