Come diff / unire le modifiche a un file di progetto di distribuzione
-
03-07-2019 - |
Domanda
Attualmente sto usando CVS (non la mia scelta) e ho diverse filiali. Sto cercando di unire due rami, ma un file di progetto di distribuzione presenta conflitti che non posso risolvere senza spendere MOLTO tempo. Una banale modifica a un file di progetto porta a drastiche modifiche a quel file di progetto - credo che grazie alle modifiche GUID (apportare una modifica al file di progetto, ottenere una copia pulita e apportare la stessa modifica sembra produrre due file di progetto abbastanza diversi)
Quindi devo determinare tutte le modifiche effettive apportate in modo da poterle replicare manualmente (poiché i registri delle modifiche non sono abbastanza dettagliati).
Esistono strumenti diff di file di progetto che tengono conto dei GUID / posizioni modificati?
Soluzione
È possibile utilizzare uno strumento diff esterno per risolvere prima le differenze, quindi segnalare le differenze reali (e ignorare gli stessi GUID in posizioni diverse).
Ad esempio, WinMerge è in grado di rilevare linee simili in luoghi diversi tra due file.
Il riquadro della posizione può indicare blocchi di differenza che vengono spostati. > I blocchi spostati sono i due lati di una differenza che si trovano in posizioni diverse. I blocchi spostati sono indicati dai colori delle differenze spostati e spostati selezionati (configurabili in Opzioni WinMerge) e dalle linee che collegano le loro posizioni nelle barre di posizione sinistra e destra.
(fonte: winmerge.org )
Se si ignorano quei blocchi spostati (che è l'impostazione predefinita), è possibile concentrarsi sulle differenze effettive e segnalare la modifica desiderata.
Se questi GUID continuano a cambiare, è possibile definire un modello regex aiutando WinMerge a ignorare quei GUID (come se potesse ignorare di default tutti gli spazi bianchi), aiutandolo a concentrarsi sul resto del documento.