2012-06-04 12 views
28

EDYCJA: Obejście. Teraz rozumiemy problemu, oto rozwiązanie: doDlaczego polecenie "git svn fetch" wydaje się być zablokowane i nic nie robi?

git svn fetch -r REVISION:HEAD 

gdzie zmiany jest numer svn commit utworzenia oddziału.


Byłem zadowolony z używania git svn do pracy na bagażniku mojego projektu przez jakiś czas, ale teraz muszę również śledzić gałęzie.

Próbowałem zainicjować nowe repozytorium to zrobić z

git init 
git svn init https://svnserver/svn/repository 

Potem edytować lokalny plik konfiguracyjny, aby odzwierciedlić strukturę mojego repozytorium svn:

[svn-remote "svn"] 
    url = https://svnserver/svn/repository 
    fetch = path/to/trunk:refs/remotes/trunk 
    branches = path/to/branches/*:refs/remotes/branches/* 

Potem biegnę

git svn fetch 

I właśnie to polecenie nie robi nic:

  • To nie kończy
  • To nie pisze nic na wyjściu konsoli
  • nie używa żadnego procesora, ani tworzyć pliki

dałem się po 10 minutach

Sprawdziłem, czy działa repozytorium svn, ponieważ git svn fetch działa idealnie na moim repozytorium git, gdzie śledzę tylko bagażnik.

Czy to błąd, czy też coś tu brakuje?

+0

Oszczędzaj czas, dziękuję! z -r było prawie natychmiastowe, nawet z naszym repozytorium svn, które ma dziesiątki aktywnych gałęzi i długą historię (ponad 20 000 zatwierdzeń). – djKianoosh

Odpowiedz

22

Staje się gadatliwy po pobraniu pierwszego odpowiedniego zatwierdzenia.

Ale dopóki nie pobierze tego zatwierdzenia, można upewnić się, że polecenie działa poprawnie, sprawdzając plik .git\svn\.metadata.

+1

I może to trwać wiecznie, aby zobaczyć "pierwsze odpowiednie zatwierdzenie", więc musisz być cierpliwy i odejść i po prostu zostawić, aż zobaczysz coś ... Nie nudzić się i CTRL + C jak ja! : D –

+0

Sprawdź zmiany wprowadzone przez OP: jeśli znasz numer wersji "pierwszego odpowiedniego zatwierdzenia", możesz przyspieszyć ten proces. –

+0

Wydaje mi się, że proces nie działa. Uruchomiłem to na komputerze, na którym znajduje się repozytorium SVN, ale procesor nie osiąga nawet 5%. Wygląda na to, że na początku procesu trwa tylko 1 godzina. –

2

Spróbuj dodać parametr --log-window-size=5000.

Jeśli repozytorium ma dużą liczbę zatwierdzeń, git-svn domyślnie będzie je przeglądać 100. Wpadnięcie na to może ogromnie zwiększyć prędkość.

0

Mam zmienić właściwość pobierania na: refs/remote/git-svn i to działa dla mnie

Powiązane problemy