ปัญหา
คุณจะสร้างสำเนาตื้น ๆ ด้วย git-svn จากแหล่งเก็บข้อมูลการโค่นล้มได้อย่างไรเช่นคุณจะดึงเฉพาะการแก้ไขสามครั้งล่าสุดได้อย่างไร
git cloneคำสั่งจะได้รับการแก้ไข n ที่ผ่านมาจากที่เก็บ Git ถ้าคุณใช้ตัวเลือก--depthคือคุณได้รับสำเนาตื้นของพื้นที่เก็บข้อมูล ตัวอย่าง:
git clone --depth 3 git://some/repo myshallowcopyrepo
มีตัวเลือกที่คล้ายกันสำหรับ git-svn?
การค้นพบของฉันจนถึงตอนนี้
จนถึงตอนนี้ฉันเพิ่งพบ-rNตัวเลือกที่Nจะแก้ไขการดึง ตัวอย่าง:
git svn clone -rN svn://some/repo
-r$REVNUMBER:HEADตามเอกสารที่มีความเป็นไปได้ที่จะใช้ ฉันลองทำสิ่งต่อไปนี้เพื่อรับการแก้ไข 3 ครั้งล่าสุดซึ่งส่งคืนข้อความแสดงข้อผิดพลาด
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
ดังนั้นฉันจึงแทนที่HEAD~3ด้วยจำนวนจริงของการแก้ไขครั้งที่สาม แต่ครั้งล่าสุด 534 ที่ได้ผล แต่นั่นต้องให้ฉันคิดเลขการแก้ไขครั้งที่สาม แต่การกระทำครั้งสุดท้าย
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
เอกสาร
--depthสำหรับการgit svnตั้งแต่การสนับสนุนที่มีอยู่แล้ว และมันมีอยู่แล้วเพื่อหา rev ล่าสุดจากเซิร์ฟเวอร์?
-s is for --stdlayout which presumes the svn recommended layout for tags, trunk, and branches.( แต่ไม่ได้ทำงานสำหรับฉัน)