2009-10-07 13 views

risposta

0

cvs log restituirà tutti loro. Dal momento che non si può dire "l'ultima N revisioni" (qui, non posso nemmeno dire cvs log HEAD), ci sono due opzioni:

  1. Utilizzare head -N l'ottenere linee più in alto N (Unix o Cygwin solo)

  2. utilizzare una data e cvs log -d DATE

0

Dal momento che le versioni di implementazione CVS ogni singolo file, suppongo che avrei dovuto attraverso ogni file e confrontare i timestamp impegnarsi a determinare quella che è l'ultima. Combina questo con il fatto che CVS non supporta il concetto di un gruppo di commit, quindi puoi ottenere un sacco di file con lo stesso timestamp di commit. Quindi quale è l'ultima? O forse potresti creare un hook di commit che scrive su un file di log e usarlo per determinare l'ultimo commit.

Come probabilmente avete capito, nessuno di questi è un percorso particolarmente stimolante da scegliere. Suggerisco caldamente che a livello di modulo si confronti sempre con i tag . Stabilire un processo software che includa il tagging del modulo quando viene apportato un miglioramento sufficientemente importante (ad es. Build giornaliero, distribuzione nell'ambiente di test, ecc.) E quindi utilizzare il tag creato come base di confronto.

È possibile ottenere diffing le ultime modifiche nei confronti di un tag utilizzando

  • cvs rdiff comando senza una copia di lavoro, o
  • cvs diff comando al livello superiore di un copia di lavoro

Vedere la documentazione CVS per riferimento completo.

8

Penso che potresti usare il comando di cronologia. Provare qualcosa di simile:

cvs history -c -D 2012-04-01 -a 

L'esempio sopra mostra tutti i commit dal momento che la data specificata (specificata in modo che la lista è limitato in lunghezza ...).

-c significa commit, -a indica tutti gli utenti.

I commit con lo stesso timestamp e l'utente sono quindi ovviamente dallo stesso commit. Si può quindi procedere a leggere il messaggio di log di che commettono con

cvs log -r <version> <file> 

Basta selezionare uno dei file dalla specifica commit. Trovi anche la versione di quel file nell'output della cronologia. Infine, per vedere il diff userei

cvs diff -D "<date 1>" -D "<date 2>" 

Qui, "la data 1" e "data 2" dovrebbe essere un timestamp subito prima e subito dopo il commit. Si noti che (per quanto ne so), questo non sembra funzionare se si sta lavorando su un ramo (??). Questo sarebbe il tema di un'altra domanda, suppongo.

Problemi correlati