2010-09-17 27 views
5

Tôi cố gắng để di chuyển từ git để svn với lệnh sau đây:git-svn clone hoặc svn2git bất ngờ dừng

git svn clone --stdlayout https://my_sourcecontrol 

hoặc với git2svn

svn2git --notags https://sourcecontrol -v 

Trong di chuyển, nó chỉ dừng lại với tuyên bố sau:

W: -empty_dir: directory 

Khi tôi làm một git branch -a

Tôi thấy nó đã nhập các thẻ và một số chi nhánh đã bị xóa một số thời gian trước đây. Ngoài ra, nó đã không nhập khẩu bất kỳ các chi nhánh hiện tại chỉ có những người đã bị xóa một số thời gian trước đây.

Có ai có thể làm sáng tỏ những gì đang xảy ra không?

Trả lời

6

Bạn có thể thử nghiệm một chút với bản sao nhỏ hơn, chỉ thực hiện một nhánh lúc đầu để xem nó có hoạt động không, ví dụ.

Tôi đã gặp sự cố tương tự: Sau khi chạy trong vài phút, tìm nạp git-svn (chạy dưới nắp git svn clone) halts with "signal 13".

Tôi không thấy bất kỳ thông báo lỗi nào trong đầu ra của bạn, nhưng có thể nó khác trên Windows hoặc một thứ gì đó. Tuy nhiên, chạy git svn fetch nên chọn nơi nó rời đi. Tôi đã thực hiện một chút vỏ kịch bản lặp để chạy lấy cho đến khi nó được thực hiện (bạn cần Cygwin/* nix để chạy này):

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

Cảm ơn, bạn đặt kịch bản ở đâu? – dagda1

+0

Tôi chỉ chạy nó trong vỏ, hoặc đặt nó trong một kịch bản "shebang": http://en.wikipedia.org/wiki/Shebang_(Unix) –

2

Đây là phiên bản PowerShell của * nix kịch bản ở trên làm việc cho tôi:

$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

Tôi gặp sự cố tương tự.

Trong những ngày đầu của repo SVN, tôi đang sử dụng cấu trúc tệp mặc định của thư mục trunk/tags/ ở cấp cao nhất. Vào một ngày sau đó, tôi chuyển sang cấu trúc <project name>/trunk, <project name>/tags với nhiều dự án.

Vì vậy, việc sử dụng chuyển đổi --stdlayout chỉ dẫn đến mã trước đó được di chuyển (vì các tệp <project name>/* bị bỏ qua).

Sử dụng -t <project name>/tags-T <project name>/trunk giải quyết được sự cố.

0

Đó có thể là trường hợp của SIGPIPE.

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

Nâng cấp git lên 1.8 hoặc cao hơn. Tôi đã nhận được lỗi này với 1,7 (kể từ khi Debian ổn định đã thực sự cũ gói) và đã phải cài đặt git mới nhất từ ​​nguồn, đó là 2.1.0.

Các vấn đề liên quan