Sự cốLàm thế nào để git-svn sao chép n bản sửa đổi cuối cùng từ một kho lưu trữ Subversion?
Làm cách nào bạn tạo bản sao nông với git-svn từ kho lưu trữ Subversion, ví dụ: làm thế nào để bạn kéo chỉ ba sửa đổi cuối cùng?
Lệnh git clone
có thể nhận được các bản sửa đổi n mới nhất từ kho lưu trữ Git nếu bạn sử dụng tùy chọn --depth
, tức là bạn nhận được bản sao cạn của kho lưu trữ. Ví dụ:
git clone --depth 3 git://some/repo myshallowcopyrepo
Có tùy chọn tương tự cho git-svn không?
khám phá của tôi cho đến nay
Cho đến nay tôi đã chỉ tìm thấy tùy chọn -rN
nơi N
là phiên bản để kéo. Ví dụ:
git svn clone -rN svn://some/repo
Theo tài liệu có khả năng sử dụng -r$REVNUMBER:HEAD
. Tôi đã thử những điều sau đây để có được 3 sửa đổi cuối cùng mà trả về một thông báo lỗi.
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
Vì vậy, tôi thay thế HEAD~3
với con số thực tế của ba nhưng cuối cùng phiên bản 534. Đó là làm việc, nhưng điều đó đòi hỏi tôi phải đầu tiên tìm ra các số phiên bản của ba nhưng cam kết cuối cùng.
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
Documentation
những gì hiện '-s' làm gì ở đây? –
Trả lời câu hỏi của riêng tôi: 's là dành cho --stdlayout mà giả sử bố cục được đề xuất svn cho thẻ, thân cây và các nhánh.' (nhưng không hoạt động đối với tôi) –
Sẽ khó thực hiện như thế nào '- -depth' cho 'git svn', vì hỗ trợ đã có sẵn. Và nó đã có để tìm ra rev mới nhất từ máy chủ? –