branch SVN confrontare
-
21-09-2019 - |
Domanda
Come faccio a confrontare un ramo con un altro? Voglio mettere a confronto un ramo con l'ultima revisione nel bagagliaio.
Soluzione
Si potrebbe iniziare con:
svn diff http://REPOS/trunk http://REPOS/branches/B
(Dove http://REPOS
è il vostro percorso del repository compresi i genitori di trunk
e branches
.)
Questo stamperà una grande quantità di testo, tra cui tutte le modifiche testuali, ma non le modifiche binari se non per dire dove e quando si sono verificati.
Altri suggerimenti
Se siete solo in cerca di alto livello di quali file sono diverse e non si vogliono vedere tutti i contenuti, utilizzare:
svn diff ^/trunk ^/branches/dev --summarize
(Questo confronta tronco e ramo Dev)
Io di solito controllare i due rami (o il ramo e il tronco) in directory. Poi io uso uno strumento grafico, come Kompare o simili (a seconda delle vostre preferenze, il sistema operativo, ...). Questo è veramente utile per me quando ho bisogno di eseguire unioni complesse.
Come la mancanza di reputazione non permetterà di aggiungere questo come un commento contro una risposta esistente, sto avendo per aggiungerlo come uno separato.
Un'opzione utile per svn diff
per me era --ignore-properties
. I miei due rami erano finiti codice identico saggio, ma con storie diverse di unione.
--ignore-properties
Utilizzando mi ha permesso di dimostrare a me stesso che questo era il caso, senza guadare attraverso la grande quantità di "svn: mergeinfo". Modifiche alle proprietà
Ecco la documentazione per il comando svn diff
.
Grazie per le informazioni ragazzi, vorrei aggiungere qualcosa per migliorare la leggibilità del diff results.If si è utilizzato: svn diff svn: // url: 9090 / rami / PRD_0002 svn: // url: 9090 / rami / TST_0003> svn_diff_filename.txt
È possibile utilizzare: findstr "Index:" C: \ percorso \ svn_diff_filename.txt> svn_diff_file_list.txt
che vi porterà un elenco leggibile di file che hanno le eventuali differenze.
Ecco un posta da Murray Cumming che descrive il processo non ovvio:
- Scopri i numeri di revisione: È necessario conoscere i numeri di revisione delle ultime versioni in ciascuno dei rami. Sembra svn log è l'unico modo per farlo.
- cd in una delle directory filiali, come ad esempio il tronco.
- fornire i numeri di revisione al comando svn diff:
svn diff -r123:145
Per diff tra due revisioni di un ramo:
svn diff -r rLATEST:rOLD
Usa svn log
per ottenere le diverse revisioni. Uso può limitare il numero di revisioni nel registro utilizzando svn log -l 5
. verranno mostrati solo gli ultimi 5 revisioni.