2012-10-03 12 views
15

Ho due rami (figli del tronco) che devono essere uniti in un ramo per il test, ma non possono entrare nel tronco. Entrambe le filiali sono aggiornate con trunk @ HEAD. Quindi voglio andare da questo:SVN unione tra due rami - "percorso non trovato"

__________________trunk 
    \___duck \ 
       \___beaver 

a questo:

__________________________trunk 
    \ 
    \______________platypus 

ho creato l'ornitorinco ramo dalla versione più recente del tronco, e sto cercando di fondere anatra e di castoro in questa nuova copia di tronco:

svn copy ^/trunk ^/branches/platypus; 
svn switch ^/branches/platypus; 
svn merge --reintegrate ^/branches/duck; 
svn merge --reintegrate ^/branches/beaver; 

ma i ops di unione non riescono

svn: '/blah/!svn/bc/12047/repo/branches/duck' path not found 

Se provo a reinserire anatra (o castoro) nel tronco, funziona bene. Cosa mi manca qui?

+0

anatra, castoro, plutypus - molto divertente – Konstantin

risposta

15

Ho avuto lo stesso errore ed è stato in grado di risolverlo con specificando manualmente tutti i numeri di revisione che volevo unire piuttosto che lasciare decidere SVN. Ciò ha consentito all'unione di continuare e mi ha richiesto conflitti di unione, come previsto.

stavo usando TortoiseSVN per raccogliere le revisioni a mano ma presumo utilizzando la riga di comando SVN sarebbe qualcosa di simile:

svn log --stop-on-copy https://svn.blah/svn/proj1/branches/xyz 

Poi annotare tutti i numeri di revisione e li fondono in un colpo solo, per esempio:

svn merge -c123,124,156,159 https://svn.blah/svn/proj1/branches/xyz 
-1

Provare a utilizzare l'opzione --ignore-ancestry quando si esegue l'unione. Potrebbe essere che la cronologia di unione è incompleta (probabilmente a causa di tartaruga o qualsiasi client per questo fatto) e qualcosa che è stato fatto sul ramo sta cercando di essere applicato alla copia di lavoro quando si esegue un 'normale' unione.

+1

Grazie ma non funziona. Non puoi usare --reintegrate e --ignore-ancestry allo stesso tempo e un'unione senza --reintegrate crea solo una tonnellata di conflitti perché entrambi i rami hanno lo stesso tronco – Mathew

1

Ho avuto un problema analogo reintegrare un ramo che era stato unito da un altro ramo (esso stesso ora reintegrato). Come questo:

-----------------------------r7------------------ 
    \      /   /ERROR !svn/bc/4/repo/branches/duck' path not found 
    r1----dinosaur--r5-------   /
        \---duck------------r9 

Non sembra essere possibile reintegrare anatra, il percorso non trovato errore lamentato r4 - ma ho potuto unire revisioni specifiche (R5-R9) da Duck torna a tronco.

0

ho risolto in questo modo:

  1. fuse i rami problematici in tronco

  2. Creato nuovo "consolidato" ramo dal tronco

  3. tronco Ripristinata al suo stato prima del passaggio 1 e ha eseguito il ripristino

  4. record unito solo dal passaggio 3 nella ramo

  5. testato fondendo nuovo ramo consolidato ritorna tronco, ma non commettere è naturalmente

risultato finale è un nuovo ramo contenente le modifiche dal caratteristica rami e tronco invariati (ma ahimè con alcune nuove voci nel registro).

Problemi correlati