Tôi đang cố gắng sử dụng git svn
để sao chép một thư mục duy nhất của một kho lưu trữ SVN vào kho lưu trữ Git.git svn clone của một thư mục duy nhất của kho SVN
Nếu tôi sử dụng git svn clone svn+ssh://path/to/repo/trunk/directory
, tôi nhận được một repo Git mà không có chi nhánh phản ánh các chi nhánh trong repo SVN nguồn.
Nếu tôi sử dụng git svn --stdlayout svn+ssh://path/to/repo/trunk/directory
, tôi nhận được repo Git trống. Sau đây là kết quả của lệnh:
Initialized empty Git repository in /directory/.git/
Using higher level of URL: svn+ssh://path/to/repo/trunk/directory => svn+ssh://path/to/repo
W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: File not found: revision 100, path '/trunk/directory'
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
This may take a while on large repositories
Tôi đã đọc rằng cách để sửa chữa ở trên là để thêm một phạm vi sửa đổi như -r 1000:HEAD
, điều này vẫn tạo ra một repo trống. Đầu ra là:
Initialized empty Git repository in /directory/.git/
Using higher level of URL: svn+ssh://path/to/repo/trunk/directory => svn+ssh://path/to/repo
Bất kỳ ý tưởng về làm thế nào để sao chép một thư mục con của một kho SVN sử dụng git-svn mà vẫn lấy tất cả các chi nhánh & thẻ từ nguồn SVN respository?
Thông tin chi tiết ở đây là bạn có thể sử dụng ký tự đại diện trong đối số '--branches'. Tốt nhất. –
Chỉ cần lưu ý - nếu bạn không có các chi nhánh hoặc thẻ cho thư mục cụ thể đó thì bạn có thể bỏ qua các tham số '--branches' và' --tags' một cách an toàn. Đó chỉ là sử dụng '--trunk = ...' thay vì '--stdlayout' sẽ hoạt động tốt. – Nux