2009-06-12 20 views
21

Czy istnieje sposób przeprowadzenia scalenia z subwersją 1.6, która zachowałaby historię oddziału?Przechowywanie historii przy łączeniu gałęzi Subversion

trunk: r1 --> r2 --------------> r5 
branch:   \--> r3 --> r4/

taki jak ten, kiedy scalić na r4 historia będzie zawierać r3 i r4? W tej chwili subversion zarejestruje jedno zatwierdzenie scalenia z różnicą między r4 i r2.

+3

Czytaj na temat ulepszonej obsługi merge wprowadzonej w svn 1.5. – jmanning2k

Odpowiedz

28

Co to znaczy zachować historię oddziału? Jeśli chcesz, aby svn log iwyświetlały scalenia, użyj opcji --use-merge-history lub -g.

+0

+1, tak to zinterpretuję. Ta flaga jest dostępna tylko jako część ulepszonej obsługi merge w svn 1.5 lub wyższej. Nie wiem, czy strona serwera musi być również> = 1.5 ... – jmanning2k

+0

Właśnie dostałem się do testowania, dzięki! Działa również w Subclipse i Subversive, co jest całkiem miłe. –

-3

Scal kolejno każdą wersję gałęzi. Możesz skończyć się połączeniem piekła, tak jak wszyscy używający szeroko rozgałęzień subversion. Twoja historia też będzie ogromna.

Proces ten można w pewnym stopniu zautomatyzować, pod warunkiem, że nie ma konfliktów z inteligentnymi skryptami.

+0

Scalanie jednego pliku za jednym razem nie spowoduje niczego innego niż połączenie wielu plików. – Jay

-2

Nie, musisz przechowywać gałęzie r3 i r4, jeśli chcesz historię ich zatwierdzeń.

+1

Ta odpowiedź jest całkowicie błędna. – bahrep

5

Wierzę, że historia zostanie zachowana, nawet jeśli usuniesz oddział. Jeśli używasz TortoiseSVN podczas przeglądania historii, jest pole wyboru oznaczone "Uwzględnij scalone wersje". Jeśli zaznaczysz, że zobaczysz wpisy dziennika dla r3 i r4, gdy były w oddziale.

Powiązane problemy