Domanda

Esiste un modo per elencare tutti i file che sono stati modificati tra due tag in CVS?

Ogni volta che facciamo una versione applichiamo un tag a tutti i file in quella versione. Voglio trovare tutti i file che sono cambiati tra le versioni.

Funzionerebbe anche se riuscissi a trovare tutti i file che erano cambiati tra due date.

È stato utile?

Soluzione

Suppongo che questo comando possa aiutare:

cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 > diffs

dove RELEASE_1_0 e RELEASE_1_1 sono i nomi dei tag.

Puoi trovare qualche informazione in più sul comando cvs diff qui

in più dovrebbe essere abbastanza semplice creare uno script per rendere il rapporto più adatto alle tue esigenze, es: numero di file modificati, creati cancellati ecc. Per quanto ne so gli strumenti più comuni della GUI di cvs (wincvs e tartaruga) non fornire qualcosa di simile fuori dalla scatola.

Spero che aiuti ;)

Altri suggerimenti

Preferisco usare l'opzione rdiff e -s

cvs rdiff -s  -r RELEASE_1_0 -r RELEASE_1_1 module > diffs

rdiff non richiede un sandbox; -s fornisce un riepilogo delle modifiche.

Per ottenere l'elenco dei file tra due date usando CVS:

cvs diff -N -c -D YYYY-MM-DD -D YYYY-MM-DD | grep "Index:" > diff.out

Ulteriori informazioni sulle date accettate per il flag -D: http: / /docs.freebsd.org/info/cvs/cvs.info.Common_options.html

Per ottenere un elenco di file che sono stati modificati tra una versione e l'altra utilizzando i comandi cvs standard:

cvs -q log -NSR -rV-1-0-69::V-1-0-70 2>/dev/null >log.txt

O in alternativa, per ottenere un elenco di commenti di commit è sufficiente rilasciare -R :

cvs -q log -NS -rV-1-0-69::V-1-0-70 2>/dev/null >log.txt

Dove sostituisci V-1-0-69 e V-1-0-70 con le revisioni che stai confrontando.

cvs log -d ">=DATE" -N -S -R > cvs.log

Il metodo DLira fornisce molti dettagli, comprese tutte le modifiche.

Per ottenere un elenco di file, funziona:

cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 | grep "Index:" > diffs

Lo strumento migliore che ho trovato per questo è uno script perl chiamato cvs2cl.pl . Ciò può generare un elenco di modifiche in diversi formati. Ha molte opzioni diverse, ma ho usato le opzioni tag-to-tag in questo modo:

cvs2cl.pl --delta dev_release_1_2_3:dev_release_1_6_8

o

cvs2cl.pl --delta dev_release_1_2_3:HEAD

Ho anche fatto confronti usando le date con lo stesso strumento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top