2012-09-23 18 views
8

lavorare Sesvn merge precedente revisione in copia

  • sto lavorando su un ramo SVN a revisione 5.
  • faccio un cambiamento, si impegnano a creare revisioni R6.
  • tornare a R5 come r6 introdotto problemi, e si impegnano, creando R7
  • continuare a lavorare su R7, alla fine di commettere i cambiamenti fino a r10

Come faccio a unire le modifiche apportate in r6 di nuovo nella mia di lavoro copia?

Ho provato

svn merge -r5:6 . 

e

svn merge -r5:HEAD . 

Entrambi i quali sembrano non fare nulla. Che cosa sto facendo di sbagliato?

risposta

2

Non ho molta familiarità con la riga di comando svn. Ma nel caso l'uso corretto non ti dia il risultato che vuoi qui è quello che proverei:

  1. Creare una patch fuori dalla revisione r6 (differenze tra r6 e r5).
  2. Applicarlo sulla copia di lavoro.
+1

Grazie, ho preso in considerazione questo e sono andato con 'svn diff -r5: 6> patch.diff'' patch -p0 user1692222

+0

Faccio lo stesso, riapplichiamo un file diff. –

1

Provare a invertire la revisione che ha fuso il ripristino iniziale.

ad es. Invece di svn merge -r 5: 6 prova svn merge -r 7: 6.

0

È possibile ripristinare. Crea un tag. . Una volta fatto, è possibile unire le modifiche dal tag al ramo si sta lavorando in

6

Se si utilizza una relativamente recente versione svn, è possibile utilizzare:

svn merge -c -6 . 


(o il file specifico (s) che si desidera ripristinare, piuttosto che)
Questa è una scorciatoia per '':

svn merge -r6:5 . 

quindi se ci si trova su una versione precedente di subversion (precedente alla 1.6.x) è possibile utilizzare questa sintassi.

Questo può introdurre proprietà nel repository (svn: mergeinfo, se la memoria serve), almeno se si esegue l'unione su un'intera directory. il ripristino di una modifica in un singolo file o set di file non influisce sulle proprietà. Se non si desidera aggiungere queste proprietà al repository, potrebbe essere necessario tornare a una patch (automatica o manuale).

4

Prova questo:

svn merge --ignore-ancestry -r5:6 . 

o utilizzando la sintassi più recente: ""

svn merge --ignore-ancestry -c6 . 

b.t.w .: Mi raccomando di specificare sempre quali file si desidera lavorare, invece di

+0

Funziona perfettamente con Subversion 1.7.19, grazie! – iboisver

+0

Sono d'accordo, questa è la risposta corretta alla domanda. Grazie Midis. – Thibault

Problemi correlati