Domanda

Non so quando la squadra ha deciso di infliggere svn conflitti albero su noi, ma ha completamente rotto la funzionalità di unione di svn.

Ho un ramo e voglio unire le ultime modifiche dal tronco nel ramo. Ho già fatto una tale unione, ma questo non riesce a causa di un conflitto albero. Ecco il comando:

$ svn --force merge -r 3185:3192 svn://chamar2/rx-services/SAMS .
svn: Attempt to add tree conflict that already exists

La prima volta che ho provato questo merge (senza il --force) ha creato solo il conflitto albero e non si fondono nulla. Ora è solo riporta il messaggio di cui sopra.

Se io svn status sul ramo di lavoro copiarlo mostra tutti i file che hanno modifiche che non sono state fuse di nuovo al tronco ancora. Naturalmente, lo scopo del mio ramo è quello di fare questi cambiamenti in cui non sono ancora nel bagagliaio.

A cosa stavano pensando quando hanno fatto questo?

Non ho trovato alcuna informazione utile su ciò che provoca conflitti albero e come posso continuare a lavorare, ora che svn ha creato queste cose.

C'è un modo per dire svn a dimenticare i conflitti degli alberi e fare solo l'unione come una volta?

Io sto usando un client e un server 1,6 svn vecchio (probabilmente 1.3.1).

È stato utile?

Soluzione

Il problema si è rivelato che avevo scelto il genitore / directory come origine della fusione al posto del / trunk / directory padre. E 'stato un errore dell'utente, ma il messaggio dell'albero di conflitto è confusa. Se svn era appena andato avanti e fatto l'unione avrei visto il problema immediatamente.

conflitti d'albero hanno introdotto nuova semantica dei messaggi che ci vorrà un po 'per abituarsi.

Grazie per il puntatore alla documentazione Tortoise Sull'albero conflitti. E 'l'unica documentazione che ho visto che affronta lavorando sui rami. L'esempio dato non spiega il motivo per cui ho avuto conflitti albero sui file che avevo modificati sul ramo, tuttavia. I messaggi albero di conflitto stanno andando a prendere un po 'per abituarsi.

Sembra che tutto ciò che fai nella maggior parte dei casi è segnano i conflitti degli alberi risolti, e in questi casi sembra che i conflitti d'albero sono solo rumore.

Mark Phippard dice che una versione più vecchia di server non causerà conflitti albero. Il server ha solo bisogno di essere aggiornato se si desidera unire il supporto di tracking e il server è pre-1.5. A quanto pare si fondono monitoraggio è l'unica cosa che manca dal server svn anziani:

http://eclipse.open.collab.net/ds/viewMessage.do?dsForumId=62&dsMessageId=332448

Altri suggerimenti

  

svn: tenta di aggiungere un conflitto albero che esiste già

Subversion si lamenta perché dopo che hai fatto una fusione che ha generato un conflitto, allora ha la stessa fusione di nuovo . SVN tentato di aggiungere un conflitto ma notato che il conflitto è già stato creato dalla operazione di unione precedente. Quindi emette correttamente un messaggio di avviso.

Se fate un'operazione di unione e non siete soddisfatti del risultato, quindi prima di provare qualcosa di diverso si deve prima tornare le modifiche locali.

Per quanto riguarda il conflitto albero originale: per capire il motivo per cui il comportamento è diverso da parte dei clienti più anziani e come risolvere tali conflitti, è necessario leggere il sezione sui conflitti albero nel libro svn. Il manuale TortoiseSVN ha anche una buona su conflitti albero .

Ho un ipotesi che si sta osservando una cattiva interazione tra il client e il server 1.6 1.3. Il rilevamento albero conflitto è una nuova funzionalità di 1.6. Inoltre, il supporto di unione è stata cambiata a 1,5 (e reso molto più usabile poi).

mi piacerebbe provare l'aggiornamento del formato di server e pronti contro termine a 1,6, un'altra cosa da provare è quella di utilizzare un 1.5 (conflitti d'albero) o un 1.4 (e nessun nuovo si fondono nè) client.

Ancora una volta, questo è tutto una congettura e non potrebbe essere davvero utile ...

Ciao ragazzi ho avuto esattamente lo stesso problema, i conflitti d'albero quando stavo cercando di fare uno svn merge. Si scopre Laurynas era assolutamente corretta. Si stava accadendo perché il repository svn era una vecchia versione. Sul server sono andato nella directory {repopath} \ db \ formato e all'interno del formato di file che conteneva "2".

Tutto quello che ho fatto è stato fare un

svnadmin upgrade {repopath}

che era abbastanza indolore.

Dopo che ho fatto che, quando ho cercato di utilizzare il monitoraggio di unione, non ho niente di più conflitti albero! Grazie per la punta!

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