2010-11-12 1 views
5

Questo dovrebbe essere banale e ovvio ma non riesco a trovare alcun esempio di questo. (Sono certo che è perché sto solo cercando le parole sbagliate.)"Unisci" nuovo file nel bagagliaio in un ramo

Ho bisogno di unire un file dal tronco del mio repository giù in un ramo. Il file è nuovo nel bagagliaio e non ancora nel ramo; quindi, il modo normale in cui so di fare una fusione non funziona. Quindi, ho bisogno di ottenere quel nuovo file nel ramo in qualche modo.

Ho bisogno di farlo in modo selettivo con file particolari; in altre parole, non voglio unire l'intero tronco e non riesco nemmeno a unire l'intero elenco di modifiche.

Grazie per eventuali suggerimenti.

modificare — mi rendo conto che posso solo copiare il file dal mio lavoro tronco e svn add al ramo, ma non credo che sia il modo "giusto" per fare questo.

+0

Hai provato a unire solo la revisione che ha introdotto quel file? se naturalmente era l'unico file ... – mpapis

+0

No, il check-in nel bagagliaio conteneva molte cose che non posso unire al ramo. – Pointy

risposta

10

È possibile eseguire operazioni come svn cp ^/trunk/file1 ^/branches/mybranch/file1 per copiare singoli file dal trunk al ramo.

+0

Wow che certamente * qualcosa *. Inoltre se potessi inversione due volte vorrei per quel "^" trucco - immagino che ciò significhi qualcosa come "l'ovvio repository host" per un significato appropriato di "ovvio"? – Pointy

+2

^significa 'la radice del repository della copia di lavoro corrente'. –

+0

Questo sembra sbagliato, creerà un conflitto quando in un secondo momento proverai a fare una fusione tra trunk e mybranch. –

0

il seguente comando ignora eventuali conflitti, sovrascrive i vecchi file e aggiunge nuovi file: Vai a tronco directory e unire dalla filiale:

svn fondono --accept loro pieno

0

Trova la directory padre che esiste già nel ramo di destinazione. Utilizzare --depth per unire in modo ricorsivo directory e file.

Ad esempio:

svn merge -c 1234 --depth infinity ^/RING/trunk/exec/parent parent 

Dove 1234 è il numero di revisione da unire.

Nuovi file potrebbero esistere in ^/RING/trunk/exec/parent, ma non sono ancora stati creati nella directory padre del ramo di destinazione. Il comando di fusione sopra aggiungerebbe i nuovi file nella directory padre del ramo di destinazione.