2012-12-24 9 views
8

Próbuję przekonwertować svn repo na git za pomocą reposurgeon.Konwersja repo svn na git za pomocą reposurgeon

Oto co zrobiłem (masz plik repo.map że ma nazwę svn -> mapowanie nazwy git):

svnadmin dump /home/subversion > repo.svn 
reposurgeon "verbose 1" "repo.svn" "authors read" "write repo.fi" 

reposurgeon działa przez wiele godzin (wiele ciężkich jak to jest nora 12GB plik) i wszystko wygląda dobrze. Oto wyjście, które otrzymuję:

reposurgeon: verbose 1 
    reposurgeon: from repo.svn...copynodes+filemaps+copysets+commits+branches+parents+root+branchlinks+svn-mergeinfo+tagifying+tagify-empty+polishing+canonicalizing+resets+debubbling+renumbering+14163 revisions (1/s)...(9810.18 sec) done. 
reposurgeon: r13: deleting parentless zero-op commit. 
. 
. 
. 
reposurgeon: r13726: deleting parentless zero-op commit. 
    2012-12-24T01:16:23Z * repo.svn 

W tym momencie reposurgeon po prostu siedzi. Nie jestem pewien, gdzie szukać rozwiązania w tym momencie, ponieważ nigdy nie przekazuje mi komunikatu o błędzie. Wszelkie sugestie są mile widziane.

+0

Powinieneś spróbować zapytać gdzie ESR zawiesza się, np. IRC. Wygląda na to, że ma wiele zobowiązań, ostatnio wprowadził pewne optymalizacje wydajności, które mogą Cię zainteresować. – mikewaters

+0

@DanielJacobs: Czy próbowałeś interaktywnie uruchomić zadanie? Zauważyłem subtelne rozbieżności między uruchamianiem rzeczy w wierszu poleceń a skryptem. Używam również interaktywnego zachęty do opracowania skryptu podnoszenia. – 0xC0000022L

Odpowiedz

-1

Zamiast tego zdecydowałem się użyć git-svn, jeśli rozważyłbyś alternatywę dla repozytorium.

3

Jeśli chcesz rozważyć alternatywę dla reosurgeon i git-svn, spójrz na SubGit.

$ subgit configure /home/subversion 
#edit /home/subversion/conf/subgit.conf to set 'core.authorsFile' option to path to "repo.map" file 
$ subgit install /home/subversion 
$ subgit uninstall --purge /home/subversion 

Przetworzony repozytorium będzie w katalogu /home/subversion/.git. Jako bonus, będziesz miał wszystkie właściwości svn: ignore i svn: eol-style skonwertowane na ich analog Git.

Zwykle repozytorium SVN jest o 4 razy bardziej kompaktowe niż odpowiadający mu plik zrzutu, więc konwersja oryginalnego repozytorium może być szybsza niż konwersja zrzutu.

6

Pomyślnie zaimportowano repozytorium, ale następnie przechodzi ono do przetwarzania polecenia authors read, ale użytkownik nie określił pliku. W tym momencie faktycznie czeka na pojawienie się pliku na stdin. Użyj authors read <author-map gdzie autor-mapa jest nazwą pliku zawierającego mapę.

Będziesz także chciał zmienić polecenie zapisu na write >repo.fi, z podobnych powodów.

+0

Jak uzyskać taką mapę autora? – rubo77

+0

autor-mapa to po prostu utworzony plik tekstowy zawierający linie, które wyglądają jak "ferd = Ferd J. Foonly <[email protected]> -0500". – db48x