2012-01-09 2 views
13

Voglio confrontare 2 revisioni utilizzando la versione 1.3.2 di svn e copiare i file/le cartelle modificati in qualche punto del server. La copia non è un problema, quello con cui ho problemi è ottenere solo i percorsi modificati. Sto usando questo comando:Confrontando 2 revisioni con svn diff (v 1.3.2) e ottieni solo i percorsi modificati?

svn diff -r 90:93 URL --username name --password password 

Questo mi restituisce un sacco di informazioni, come vorrei estrarre solo i percorsi modificati da queste informazioni? --summarize non è disponibile per la versione 1.3.2. Quello che voglio è qualcosa di simile:

/path/test.txt

Grazie! :)

risposta

13

Sei su Unix/Linux/Mac o hai installato Cygwin?

È possibile reindirizzare l'output tramite grep per trovare tutte le righe che iniziano con Index:. (Se ricordo l'output del comando diff di Subversion 1.3), questo darebbe solo i nomi dei file che differiscono. È quello che uso con CVS.

$ svn diff -r 90:93 --username name --password password URL | grep "^Index: " 

Se funziona, e si desidera rimuovere Index, è possibile utilizzare sed:

$ svn diff -r 90:93 --username name --password password URL \ 
> | sed -n /^Index: /s/^Index: //p' 
+1

Molti 'implementazioni sed' (tutti?) Consentire'/str/s // RPL/'come una scorciatoia per '/ str/s/str/rpl /' – tripleee