2012-05-14 11 views
5

Una volta che una directory è stata rimossa usando cvs remove <dir> e cvs commit, c'è un modo semplice per annullare la modifica - per ripristinare la directory nella mia copia di lavoro e nel repository? Finora sono stato in grado di trovare solo suggerimenti che sarebbero utili se non avessi ancora eseguito il commit, o se si trattasse di un file anziché di una directory. Se possibile, mi piacerebbe conservare la cronologia dei contenuti della directory.Come posso ripristinare una directory cancellata da CVS dopo aver eseguito la modifica?

risposta

5

(Rispondendo alla mia domanda, come ho capito.)

Per ripristinare una directory eliminata dopo l'eliminazione si è impegnata:

cvs update -d -R -j <rev2> -j <rev1> <dir> 

Dove:

<rev2> è la revisione che risultato dal commettere la rimozione.

<rev1> è la revisione immediatamente precedente a rev2.

<dir> è la directory eliminata.

0

Supponiamo che tu abbia commesso un file, ma questo ha finito per rompere qualcosa di orribile. Ecco come annullare il commit:

Ottieni il numero di versione dopo il commit. Puoi utilizzare un tag $ Id $ all'interno del file o lo stato cvs. Diciamo che la nuova versione è 1.5. Ottieni il numero di versione da prima del commit. In genere, questo sarà inferiore rispetto alla versione corrente. Diciamo che la vecchia versione è 1.4. Ora fare questo:

cvs update -j 1.5 -j 1.4 filename 

cvs commit nomefile Quanto sopra è un esempio di una fusione. Hai chiesto alle CV di fare la differenza tra le versioni 1.5 e 1.4 e applicarle alla tua copia di lavoro. L'ordinamento dei numeri di versione è significativo: pensalo come rimuovendo le modifiche o andando indietro nella cronologia delle versioni.

+0

Come ho detto nella domanda, il consiglio che funziona per i file non aiuta, perché l'elemento che è stato cancellato è una directory. – bythescruff

+0

Le risposte di bythescruff e Satya mi hanno salvato. I file nella directory che stavo cercando di recuperare avevano revisioni diverse, quindi ho ripristinato la directory usando la risposta dithescruff, quindi ripristinato i singoli file usando la risposta di Satya. Grazie a tutti e due. – WileCau

Problemi correlati