2010-07-01 24 views
11

Supponiamo di essere alla revisione 50. Ma, voglio tornare alla revisione 45 e riprendere come versione stabile.Come ripristinare un commit SVN precedente?

Come faccio a farlo, nel modo più semplice?

  1. E se volessi farlo con un file?
  2. Cosa succede se voglio farlo con l'intero repository?
+0

Eventuali duplicati di [Ripristinare una cartella svn ad una revisione precedente] (http://stackoverflow.com/questions/2324999/revert-a-svn-folder-to-a- precedente-revisione). Nota che svn non si preoccupa se la destinazione è un file, una cartella o la radice del repository. – sbi

risposta

23

I' Non sono sicuro di cosa intendi con "conferma come versione stabile", ma a seconda di cosa stai cercando di ottenere, ti consiglio di:

svn update -r45
Ciò rebase copia di lavoro alla revisione 45.

o:

svn fondono -c -50, -49, -48, -47, -46
Questo aggiornerà (in ordine inverso) la tua copia di lavoro rimuovendo tutte le modifiche tra 45 e 50. Ora se apporti modifiche e impegni, sarà come se avessi rimosso 46-50 dal repository e fatto la revisione HEAD (51?) Essere r45 + il tuo cambiamento.

+0

per la versione precedente, svn update -r PREV – diewland

4

Reverse merge quelle revisioni che si desidera annullare. Questo può essere fatto su uno o più file. Con la fusione inversa, la tua copia di lavoro viene modificata nello stato senza quella revisione, che puoi quindi eseguire il commit.

-2

Penso che un modo semplice dovrebbe essere questo:

  • cassa revisione 45 in una directory temporanea
  • copiare uno o alle file nella directory di lavoro
  • commettere
+0

Vedere "Perché non utilizzare le patch al posto?" nel [libro SVN] (http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.branchemerge.basicmerging.stayinsync) perché evitare l'unione manuale. – sbi

+0

Grazie per il suggerimento! – splash

0

si può semplicemente fare un aggiornamento alla revisione utilizzando

svn up -r 45 

Ma questo non consentono di confermare le modifiche come SVN si deve aggiornare la propria copia di lavoro a testa prima si può commettere. Che cosa si può fare, invece è

svn merge -r HEAD:45 yourFile 
svn ci yourFile -m "Reverting back to rev 45" 
Problemi correlati