Messaggio di errore sugli intervalli mancanti durante la reintegrazione di un ramo nel trunk in Subversion 1.5

StackOverflow https://stackoverflow.com/questions/2472249

Domanda

Sto cercando di reintegrare un ramo di sviluppo nel trunk del mio repository Subversion 1.5.Ho unito tutte le modifiche dal trunk al ramo di sviluppo prima di questa operazione.Ora quando provo a reintegrare le modifiche dal ramo ricevo il seguente messaggio di errore:

Command: Reintegrate merge https://dev/svn/branches/devel into C:\trunk  
Error: Reintegrate can only be used if revisions 280 through 325 were previously   
Error: merged from https://dev/svn/trunk to the reintegrate   
Error: source, but this is not the case:  
Error:   branches/devel/images/test  
Error:     Missing ranges: /trunk/images/test:280-324  
...

Il messaggio continua quindi lamentandosi di alcune cartelle nel mio progetto.Ma quando provo a unire nuovamente le modifiche dal trunk al ramo di sviluppo, TortoiseSVN mi dice che non c'è nulla da unire (poiché ho già unito tutte le modifiche in precedenza):

Command: Merging revisions 1-HEAD of https://dev/svn/trunk into C:\devel, respecting ancestry  
Completed: C:\devel  

Sto cercando di seguire le istruzioni da qui: http://svnbook.red-bean.com/en/1.5/svn.branchmerge.basicmerging.html, ma non c'è nulla che possa risolvere un problema del genere.

Qualche idea?Forse dovrei semplicemente eliminare il trunk e quindi fare una copia del mio ramo?Ma non sono proprio sicuro che sia sicuro.

Guarda anche

svn merge con --reintegrate si lamenta degli intervalli mancanti ma mergeinfo sembra corretto

È stato utile?

Soluzione

È necessario unire le revisioni per R280 R324 dal tronco nel vostro primo ramo.

Sembra che già incorporato le R325 nel vostro ramo, tuttavia --reintegrate ha bisogno di ottenere tutti revisioni fino alla revisione più recente fusa. Ci deve essere alcun divario. Quindi, ecco un po 'di Diag:

           +----------------------> /branches/devel
          /                    /   \<--merge not working!
 --------/-------+--+---+-----+---------> trunk
         |       \  |  /      |
        280       \ V /      325
                    V
                  missing sync merges from trunk to branch

Credo che questa è la tua struttura ramificata, quindi è necessario sincronizzare tutte le modifiche dal tronco al ramo. È incorporato le solo R325, quindi basta unire R280-R324 e dopo aver fatto questo si dovrebbe andare bene utilizzare --reintegrate

Altri suggerimenti

Abbiamo lottato con questo problema per alcune settimane e finalmente l'abbiamo risolto.

Nel nostro caso abbiamo lavorato su un ramo che veniva accorpato quotidianamente con tutte le revisioni del trunk.Quando abbiamo provato a reintegrarlo (unirlo nuovamente al trunk) abbiamo ricevuto questo errore.Quando abbiamo provato a unire gli intervalli mancanti nel nostro ramo, abbiamo ricevuto il messaggio che non c'era nulla da unire.È successo in diversi rami non correlati e con file e cartelle diversi.

La soluzione era aggiungere gli intervalli mancanti alla proprietà svn:mergeinfo del file o della cartella nel nostro ramo.

Per ogni "Intervalli mancanti:path:revision_range" nel messaggio ricevuto:

  • Modificare la proprietà svn:mergeinfo nel file/cartella menzionato in il ramo risultante dalla fusione
  • Aggiungi quanto segue:stringa alla fine del valore della proprietà (es./trunk/immagini/test:280-324)
  • Salva la proprietà SVN

Effettua il commit di tutte le modifiche e reintegra di nuovo

Ho avuto questo problema, ed è stato in ultima analisi, causati dalla proprietà erronee SVN contro una cartella nel mio ramo.

La soluzione è stata semplice - ho fuso dal tronco al mio ramo utilizzando il numero di revisione specifico che era stato segnalato come mancante per esempio

.

 entrare descrizione dell'immagine qui

E poi specificare per registrare solo l'unione ad es.

 entrare descrizione dell'immagine qui

L'operazione correttamente portato il mio ramo in linea con il tronco, e il mio successivo reinserimento ramo in tronco lavorato con successo, senza il messaggio di errore gamme mancante.

Questa tecnica evitato qualsiasi modifica manuale di qualsiasi svn:. Mergeinfo proprietà contro qualsiasi file / cartelle

ho smesso di ricevere questi problemi quando ho iniziato ad usare l'opzione -r al comando svn unire e non ha cercato di fare il --reintegrate fino a dopo che avevo fusa senza di essa. Sto utilizzando svn 1.6.1.

Ecco quello che faccio:
1. quando la fusione di ramo in tronco o del tronco in ramo, io uso l'opzione -r in questo modo:

 cd branchWorkArea/topDir
 svn merge -r<branchPoint>:HEAD [otheroptions] svn://svn/project/trunk/topDir
  1. quando ho risolto tutti i conflitti e testare il mio codice, ho commesso l'unione al ramo e quindi unire il ramo al tronco utilizzando le stesse opzioni di base (in particolare -rBranchPoint: testa)

  2. quando il tronco è stato testato e impegnato, quindi si utilizza l'opzione --reintegrate fino alla fine il ramo. Assicurarsi di utilizzare il -rbranchPoint:. Opzione testa su di esso troppo

Per le altre opzioni, io uso sempre

  

- profondità Infinity (default   all'infinito in 1.6.2 ma non prima)
  -x -b -x -w --ignore-eol-style

Forse, ho appena avuto la fortuna, ma le cose sembrano sicuri di lavorare meglio.

Per trovare il punto di diramazione per un ramo, si fa uno svn log --stop-on-copy poi guardare l'ultima per molto revsion -. Sarà la copia svn che ha creato il ramo

Per fare questo su Linux, faccio qualcosa di simile a questo:

  

svn log --stop-on-copy   svn: // svn / progetto / trunk / TOPDIR |
  grep '^ r' | tail -1 |   sed -e 's / ^ r // 1'-e 's /. * // g'

questo dovrebbe stampare il numero di revisione del punto di diramazione.

In bocca al lupo

Questa non è una risposta, ma una domanda chiarire.

Il mio messaggio di errore è:

Reintegrate can only be used if revisions 2669 through 3403 were previously merged from
https://../schemas
to the integrate source, but this is not the case:
trunk/schemas:
Missing ranges:
../schemas:2673,2682,2720,2736,2878,2960,3003,3057

ho fuso le revisioni utilizzando la soluzione fornita da @ Greg Trevellick, ancora ricevendo il messaggio di errore.

Quando apro lo svn: mergeinfo proprietà dopo la risposta @pako sulla cartella schemi, il contenuto appare come

/branches/repos_develop_os/trunk_branch-os/schemas:3329
/trunk/schemas:2669-2673,2682,2720,2736,2878,2960,3003,3057

Non sono sicuro di come dovrei modificare i suddetti contenuti. Sembra che gli intervalli mancanti sono tutti lì.

Ho appena avuto questo problema e che cosa ha funzionato per me è stato prima di tutto, sincronizzare il ramo con il tronco, in modo che il ramo può avere gli ultimi aggiornamenti dal tronco. Dopo questo, ho provato la reintegrazione del ramo al tronco e funzionava bene.

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