2009-09-16 7 views
6

Czy ktoś może wskazać mi właściwy kierunek migracji do repozytorium Subversion 1.4 do Subversion 1.6 na innym serwerze? Byłbym wdzięczny za każdą pomoc, jaką mogę uzyskać, nie mam zbyt wiele szczęścia w szukaniu go.Migracja z Subversion 1.4 do 1.6

+0

Aby to rozwinąć, już próbowałem zrobić zrzut z wersji 1.4 i załadować go do wersji 1.6 (tyle jest w redwersji subversion i robiłem to nawet przed pomyślnym uruchomieniem serwerów v1.4). Kiedy próbuję załadować plik v1.4 do serwera v1.6, pojawia się błąd dotyczący formatu nagłówka pliku zrzutu. Z tego co przeczytałem, układ repozytorium zmienił się między 1.4 a 1.6 –

+0

Aby jeszcze raz się rozwinąć, te dwa serwery znajdują się na różnych maszynach z różnymi systemami operacyjnymi. Serwer 1.4 to stare pole gentoo, które ma krytyczne znaczenie i nie można go uaktualnić bez poważnego ryzyka złamania czegoś (nad czym pracujemy przy migracji), a nowe pudełko 1.6 działa podwersją w systemie Windows Server 2003. Mam też brak kontroli nad nowym polem, jestem tylko tymczasowo dopuszczony przez administratora sieci, aby uzyskać do niego dostęp i zainstalować nowe repozytorium dla serwera, który już skonfigurował. –

Odpowiedz

7

Po pierwsze, nie jestem w 100% pewien, czy można swobodnie przenosić plik zrzutu między systemem Linux i systemem Windows. Konieczne może być przekonwertowanie końcówek linii.

Następnie należy najpierw przenieść repozytorium w formacie 1.4, a następnie uaktualnić go na miejscu. Jednym ze sposobów, aby to zrobić, na komputerze docelowym:

svnadmin create --pre-1.5-compatible /path/to/repo 
svnadmin load /path/to/repo <dumpfile 
svnadmin upgrade /path/to/repo 

Zobacz SVN book o szczegóły svnadmin.

+0

To załatwiło sprawę. Dziękuję za pomoc, jest to bardzo cenne. –

+0

Format zrzutu jest niezależny od platformy. Dzięki temu możesz bezpiecznie przenieść plik zrzutu między Linux i Windows. – Stefan

+0

@Stefan: Dzięki, pomyślałem, że tak, ale nie byłem pewien. – Avi

0

Upewnij się, że traktujesz ten plik zrzutu jako plik binarny. Wygląda jak plik tekstowy i możesz uciec z jego edycją na wiele sposobów ... ale to nie jest tylko tekst. Więc jeśli podczas transferu nastąpiła konwersja nowej linii lub coś, co skończyłoby się bałaganem.

2

Zrobiliśmy to w nieco inny sposób: stworzyliśmy nowe repozytorium i użyliśmy svnsync do stworzenia zwierciadła repozytorium. Ten powinien być używany tylko do odczytu do czasu, kiedy chcesz się przełączyć. Następnie dodaj haczyki do starego repozytorium, aby zabronić zatwierdzania (najlepiej wyświetlać i wyświetlać komunikat o błędzie informujący użytkowników o przeniesieniu do nowego repozytorium). svnsync po raz ostatni i aktywuj nowe repozytorium. Było to znacznie szybsze od dumpingu i bardziej wydajne, ponieważ mogliśmy nadrobić zaległości i zsynchronizować najnowsze zmiany ze starymi repozytoriami.

+0

Można również wykonywać przyrostowe zrzuty i ładunki. – retracile

+0

To był dla nas mniejszy ból, na przykład jeden z naszych 1,4 repozytoriów miał miejsce na dysku> 32 GB (skompresowany plik svn diff), więc możesz sobie wyobrazić rozmiar zrzutu! :-) – jdehaan