Vấn đề
Làm thế nào để bạn tạo một bản sao nông với git-svn từ kho lưu trữ Subversion, ví dụ: làm thế nào để bạn chỉ kéo ba bản sửa đổi cuối cùng?
Các git clone
lệnh có thể nhận được n sửa đổi cuối cùng từ một kho Git nếu bạn sử dụng tùy chọn --depth
, nghĩa là bạn có được một bản sao cạn của kho. Thí dụ:
git clone --depth 3 git://some/repo myshallowcopyrepo
Có một tùy chọn tương tự cho git-svn?
Những khám phá của tôi cho đến nay
Cho đến nay tôi chỉ tìm thấy -rN
tùy chọn N
để sửa đổi. Thí dụ:
git svn clone -rN svn://some/repo
Theo các tài liệu có khả năng sử dụng -r$REVNUMBER:HEAD
. Tôi đã thử các cách sau để có được 3 phiên bản mới nhất trả về 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
bằng số thực tế của lần sửa đổi thứ ba nhưng lần sửa đổi cuối cùng 534. Điều đó đã có hiệu quả, nhưng điều đó đòi hỏi tôi phải tìm ra số lần sửa đổi của lần thứ ba nhưng lần cam kết cuối cùng.
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
Tài liệu
--depth
cho git svn
, vì đã có hỗ trợ. Và nó đã phải tìm ra rev mới nhất từ máy chủ?
-s is for --stdlayout which presumes the svn recommended layout for tags, trunk, and branches.
(nhưng không hiệu quả với tôi)