2010-11-24 20 views
5

Diciamo che ho A:/A_Project/trunk/A e B:/B_Project/trunk/B nel mio SVN. Voglio unire A con B e memorizzarlo in B. Ho usato le opzioni "Unisci due alberi diversi" nella mia GUI TortoiseSVN. Tutto va bene, tranne la revisione finale non ha il registro delle modifiche dell'albero A!SVN diversi alberi che si uniscono

La domanda è: come unire due alberi diversi e conservare i registri da entrambi nella revisione finale?

Grazie per il vostro aiuto!

risposta

5

Onestamente, la mia ipotesi è che Tortoise stia semplicemente creando una copia funzionante del ramo B, inserendo il codice dall'albero A, e unendosi come se fosse solo un massiccio esercizio di codifica.

Non credo SVN supporta in modo nativo la fusione tra i progetti perché i numeri di revisione (e quindi la allegate impegnano logs) sarebbe evidente conflitto in quanto entrambi i progetti hanno revisioni 1..n.

Quindi non so se quello che stai cercando è possibile.

Per i dettagli sulla utilizzando l'interfaccia a riga di comando per il merge io consiglio la bibbia Subversion:

http://svnbook.red-bean.com/en/1.5/svn.branchmerge.html

+1

Grazie per i riferimenti -. Io li ho letti prima, ovviamente, e fatto tutto come nella testuggine Aiuto. Il risultato è stato, come hai notato correttamente, l'aggiornamento semplice dell'albero B:/ Grazie comunque – SOReader

+0

Tali riferimenti sono molto obsoleti. Fai attenzione a utilizzare Google e i riferimenti di Subversion Book elencati qui. Molte funzioni della riga di comando dalle prime versioni 1.0 hanno molte nuove funzionalità. E i due riferimenti che hai pubblicato versione di riferimento che hanno più di 5 anni. – jgifford25

+0

grazie jgifford, aggiornato alla versione 1.5 del doc. – Eddie

0

Perché hai fatto un merge (albero o di un file, non importa), la storia da A è non facilmente disponibile per la visualizzazione. Tuttavia, se l'unione è stata eseguita con un client Subversion che supporta 1.5.x o versioni successive e ha selezionato le proprietà svn: merge-info, è possibile visualizzare la cronologia di A. Dalla riga di comando utilizzando il comando svn log e l'opzione -g è possibile visualizzare la cronologia di un file o di un albero, inclusi i percorsi che sono stati uniti più volte.

Questo può essere fatto anche con TortoiseSVN. Vedere this release note dalla versione TortoiseSVN 1.5.x su come visualizzare la cronologia di unione con la cronologia normale.

0

Subversion non supporta la fusione di due alberi in una revisione che conserva la cronologia di entrambi i lati dell'unione.

Questa è una differenza piuttosto semplice tra il modello Subversion e alcuni altri sistemi di controllo versione, come Mercurial o Git.

versioni moderne di Subversion possono simulare questo, con la proprietà mergeinfo, ma non è nativamente integrato nel

Problemi correlati