Rozwiązania @Aaron Digulla i @kementeus są wykonalne. W przypadku repozytoriów Subversion 1.4 operacje kopiowania / przenoszenia mogą utrudnić przyszłą migrację do innej struktury repozytoriów lub podział repozytoriów.
Uważam, że ulepszenia 1.5 obejmują lepszą rozdzielczość historii przenoszenia / kopiowania, więc prawdopodobnie nie byłby to problem dla repozytorium 1.5.
W przypadku repozytorium 1.4 zalecałbym użycie svnadmin dump
i svndumpfilter
wykonanie przeniesienia istniejącego pnia w inne miejsce, a następnie przeniesienie gałęzi do pnia za pomocą tego samego mechanizmu. Załaduj dwa pliki zrzutu do repozytorium testowego, sprawdź, a następnie przenieś je do środowiska produkcyjnego.
Oczywiście przed rozpoczęciem wykonaj kopię zapasową istniejącego repozytorium.
Pozwala to zachować historię bez jawnego rejestrowania przeniesienia / kopii i ułatwia przyszłą reorganizację, zachowując historię.
Edycja: zgodnie z żądaniem, dokumentacja zachowania 1.4, z książki 1.4 Red-Bean, Filtering Repository History
Również skopiowane ścieżki mogą sprawić trochę problemów. Subversion obsługuje operacje kopiowania w repozytorium, gdzie nowa ścieżka jest tworzona przez kopiowanie już istniejącej ścieżki. Możliwe, że w którymś momencie życia repozytorium mogłeś skopiować plik lub katalog z jakiejś svndumpfilter
wykluczającej lokalizacji do lokalizacji, którą on zawiera. Aby dane zrzutu były samowystarczalne,svndumpfilter
musi nadal pokazywać dodanie nowej ścieżki - w tym zawartość wszelkich plików utworzonych przez kopię - i nie reprezentować tego dodatku jako kopii ze źródła, które nie będzie istniało w strumieniu danych z odfiltrowanego zrzutu. Ale ponieważ format zrzutu repozytorium Subversion pokazuje tylko to, co zostało zmienione w każdej wersji, zawartość źródła kopiowania może nie być łatwo dostępna. Jeśli podejrzewasz, że masz jakiekolwiek kopie tego rodzaju w swoim repozytorium, możesz chcieć przemyśleć swój zestaw dołączonych / wykluczonych ścieżek, być może włączając ścieżki, które służyły jako źródła twoich kłopotliwych operacji kopiowania.
Dotyczy to migracji / reorganizacji przy użyciu svndumpfilter
. Są chwile, kiedy odrobina dodatkowej pracy teraz może zaoszczędzić wiele dodatkowej pracy później, a dzięki łatwemu wykorzystaniu svndumpfilter
dostępnej dla przyszłych migracji / reorganizacji ryzyko zmniejsza się przy stosunkowo niskich kosztach.