2010-09-20 34 views
10

Tôi đang cố gắng git-svn để làm việc trên máy chủ svn shadowcat riêng.Tại sao git-svn lại thay đổi thư mục gốc của tôi thành cha mẹ?

git svn clone -s http://dev.catalystframework.org/repos/Catalyst/Catalyst-Plugin-ConfigLoader/ 
Initialized empty Git repository in /home/ecarroll/code/perl/foo/Catalyst-Plugin-ConfigLoader/.git/ 
Using higher level of URL: http://dev.catalystframework.org/repos/Catalyst/Catalyst-Plugin-ConfigLoader => http://dev.catalystframework.org/repos/Catalyst 

Điều gì không hiệu quả? Có vẻ như http://dev.catalystframework.org/repos/Catalyst/Catalyst-Plugin-ConfigLoader/ có bố cục chuẩn.

Có cách nào đơn giản để lấy git lấy từ repo svn không?

+0

Làm việc tốt cho tôi (Git 1.7). Bạn đã cung cấp đầu ra đầy đủ của lệnh chưa? –

Trả lời

13

Tôi hơi trễ khi trả lời rằng dự án Catalyst-Plugin-ConfigLoader đã di chuyển sang Git, nhưng tôi sẽ trả lời trong trường hợp ai đó gặp sự cố tương tự với dự án svn khác.

git svn cố gắng hữu ích bằng cách tìm kiếm thư mục gốc của kho lưu trữ svn và sử dụng thay vì URL bạn cung cấp. Tôi thấy nó khó chịu, nhưng may mắn thay có một cách giải quyết khác: sử dụng tùy chọn --no-minimize-url.

Từ các tài liệu git svn (git help svn):

--no-minimize-url

Khi theo dõi nhiều thư mục (sử dụng --stdlayout, --branches, hoặc --tags tùy chọn), git svn sẽ cố gắng để kết nối vào thư mục gốc (hoặc cho phép cao nhất mức độ) của kho lưu trữ Subversion. Mặc định này cho phép theo dõi lịch sử tốt hơn nếu toàn bộ các dự án được di chuyển trong một kho lưu trữ, nhưng có thể gây ra các vấn đề về kho lưu trữ nơi các hạn chế truy cập đọc được đặt ra. Việc vượt qua --no-minimize-url sẽ cho phép git svn chấp nhận URL dưới dạng mà không cố gắng kết nối với thư mục cấp cao hơn. Tùy chọn này được tắt theo mặc định khi chỉ có một URL/nhánh được theo dõi (nó sẽ hoạt động rất ít).

0

Tôi đã gặp sự cố tương tự và sử dụng tùy chọn --no-minimize-url. Điều này cho phép bản sao thành công, nhưng một số thứ như một nửa số thẻ bị thiếu. Nó chỉ ra rằng cấm clone từ đi lên một mức độ có nghĩa là nó không thể nhìn thấy một đổi tên repo trước đó đã xảy ra. Khi tôi đã xóa tùy chọn --no-minimize-url, các thẻ bị thiếu xuất hiện.

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