2010-09-17 13 views
5

próbuję migracji z git do svn za pomocą następującego polecenia:git-svn klonu lub svn2git nieoczekiwanego zatrzymania

git svn clone --stdlayout https://my_sourcecontrol 

lub z git2svn

svn2git --notags https://sourcecontrol -v 

podczas migracji, to po prostu zatrzymuje się następujące oświadczenie:

W: -empty_dir: directory 

Kiedy zrobić oddział git -a

Widzę, że zaimportował znaczniki i wiele gałęzi, które zostały usunięte jakiś czas temu. Ponadto nie zaimportował żadnej z istniejących gałęzi tylko te, które zostały usunięte jakiś czas temu.

Czy ktoś może rzucić światło na to, co się dzieje?

Odpowiedz

6

Można eksperymentować trochę z mniejszym klonem, wykonując najpierw tylko jedną gałąź, aby sprawdzić, czy to działa, na przykład.

Widziałem podobny problem: Po uruchomieniu przez kilka minut, pobieranie git-svn (które działa pod maską klonu git svn) halts with "signal 13".

Nie widzę żadnego komunikatu o błędzie w wynikach, ale może jest inaczej w systemie Windows lub coś podobnego. Niemniej jednak uruchamianie pobierania git svn powinno nastąpić tam, gdzie zostało przerwane. Zrobiłem małą pętlę powłoki skryptu do uruchomienia sprowadzić aż to się robi (trzeba Cygwin/* nix do uruchomienia tego):

while ! git svn fetch; do echo "git-svn halted. Restarting...i"; done 
+0

Dzięki, gdzie umieścisz scenariusz? – dagda1

+0

Po prostu uruchamiam go w powłoce lub umieszczam w skrypcie "shebang": http://en.wikipedia.org/wiki/Shebang_(Unix) –

2

Ta wersja PowerShell powyższego * skrypcie nix pracował dla mnie:

$i = 1 
do 
{ 
    git svn fetch 
    if(!$?) 
    { 
     Write-Host "git-svn halted. Restarting... $i++" 
    } 
    else 
    { 
     Write-Host "git-svn completed successfully" 
    } 
} 
while(!$?) 
Write-Host "git-svn fetch required $i iteration(s)" 
1

Miałem podobny problem.

We wczesnych dniach repozytorium SVN korzystałem z domyślnej struktury plików w folderze trunk/ i tags/ na najwyższym poziomie. W późniejszym czasie zmieniłem strukturę na <project name>/trunk, <project name>/tags z wieloma projektami.

Używanie przełącznika --stdlayout powodowało jedynie migrację wcześniejszego kodu (ponieważ pliki <project name>/* zostały zignorowane).

Użycie -t <project name>/tags i -T <project name>/trunk rozwiązało problem.

0

Może to być przypadek SIGPIPE.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=526989

Upgrade git do czegoś podobnego 1.8 lub wyższej. Otrzymałem ten błąd z 1.7 (ponieważ stabilny Debian ma naprawdę stare pakiety) i musiał zainstalować najnowszy git ze źródła, którym jest 2.1.0.

Powiązane problemy