2010-10-06 13 views
33

Ho un paio di correzioni che ho fatto su un ramo che voglio unire nel bagagliaio. Non voglio unire l'intero ramo nel bagagliaio, solo i pochi controlli di ramo che ho fatto. Qual è la sintassi corretta per farlo?SVN unisce singole revisioni di file da un ramo nel trunk

TY, Fred

+0

La risposta di_mandrills ha funzionato? Ho lo stesso problema ma dal momento che non hai accettato non sono sicuro se dovrei provarlo o meno. – Nenotlep

risposta

35

non sono sicuro esattamente quello che stai chiedendo come il titolo parla di fusione dei file singoli ma il testo della questione parla di singole revisioni. Nel caso di fusione di singole revisioni è necessario: (per unire le modifiche commessi nelle revisioni 100, 105, 115)

cd trunk 
svn merge -c 100 -c 105 -c 115 http://..../branches/mybranch . 

Se si desidera unire solo la parte di revisione 100 che colpisce file.cpp:

cd trunk/path/to/file.cpp 
svn merge -c 100 http://../branches/mybranch/path/to/file.cpp file.cpp 
1

Si desidera unire l'intero ramo. A partire da svn 1.5, le informazioni su ciò che è stato fuso sono memorizzate nel repository - nella proprietà svn:mergeinfo. Se unisci un singolo file, svn:mergeinfo verrà impostato in profondità nella struttura. Quando qualcuno tenta di eseguire un'unione dalla parte superiore del progetto, svn:mergeinfo non esisterà e dovranno decidere di prendere quel changeset. Se davvero non vuoi che venga unito, dovresti unire dalla parte superiore del progetto e quindi impegnare solo la directory di primo livello (svn:mergeinfo sarà l'unica modifica) e il file che desideri.

Way more than anyone ever wanted to know about mergeinfo

+0

Per capire cosa viene spiegato qui, vai qui per una spiegazione ancora migliore: https://stackoverflow.com/a/12732085/1420441 –

Problemi correlati