2013-02-20 12 views
10

Ho un progetto con con la seguente strutturasvn si fondono con --reintegrate lamenta gamme mancanti ma mergeinfo sembra corretto

^/project/trunk 
^/project/branches/mybranch 

cui attuale capo è la revisione 1048. Il ramo è stato copiato da tronco in r523. tronco è stato unito a mybranch con il risultato di essere r1048. La mergeinfo su ^/project/branches/mybranch

/project/trunk:523-1047 

e la mergeinfo del tronco non ha alcun record di menzionare qualsiasi cosa, da ^/project/branches/mybranch. In realtà in realtà sia il tronco che i rami detengono anche i mergeinfos dai rami paralleli allo mybranch ma quei mergeinfos appaiono assolutamente identici in entrambi gli output.

Ora vado nella mia copia di lavoro del tronco e cercare di rilasciare

svn merge --reintegrate ^/project/branches/myproject 

ricevo un messaggio di errore che dice:

svn: Reintegrate can only be used if revisions 523 through 1048 were previously merged from file:///home/svn/project/trunk to the reintegrate source, but this is not the case: 
    project/branches/mybranch/src 
    Missing ranges: /project/trunk/src:523-1047 

Questo è strano perché il mergeinfo sulla mia cartella ramo dice me che 523-1047 sono stati fusi correttamente da un tronco all'altro. Qual è l'accordo con quella sottocartella? src è una directory che ovviamente esiste sia nel trunk sia nel ramo.

Penso che sia dove qualcosa è pescoso. Se guardo il mergeinfo di mybranch/src tramite svn pg svn:mergeinfo ^/project/branches/mybranch/[email protected] non ottengo nulla. Se guardo il trunk/src però (svn pg svn:mergeinfo ^/project/trunk/[email protected]) ottengo

/project/branches/mybranch/src:784 

così sembra come se qualcuno ha fatto un cherry-pick di ramo in tronco lì. Tuttavia questo non appare nella cartella trunk stessa.

E 'questo il problema? E soprattutto: come posso curarlo ??

risposta

13

È questo il problema?

Sì, esattamente - merge sottostruttura in seguito sempre confondere reintegrazione

E, soprattutto: come posso curarla ??

Rimuovere mergeinfo da/progetto/trunk/src

+0

Sì, che ha fatto il trucco - grazie mille. – janitor048

+0

Purtroppo questo non ha funzionato per me. Il mio ramo e il tronco erano identici nel contenuto, ma probabilmente per qualche motivo erano diversi nella struttura ad albero svn. Ho dovuto creare un nuovo ramo dal tronco e sono stato costretto a cancellare il vecchio ramo, ora funziona, ma ovviamente questa non è la soluzione ideale. –

4

Ecco un argomento molto simile si potrebbe desiderare di avere uno sguardo a:

Reintegrate can only be used if revisions were previously merged URL to reintegrate the source

Soprattutto this answer da Paul Whipp mi ha aiutato molto quando ho riscontrato lo stesso problema e non volevo eliminare il mergeinfo, perché questo in qualche modo suonava li una soluzione alternativa e non una soluzione "reale".

In breve: Provare a unire manualmente le informazioni mancanti per quel file/cartella specifico (proprio come suggerisce svn). Ha funzionato benissimo per me.

See Pauls risposta per le excamples codice corrispondente, ecc

Problemi correlati