ฉันจะ จำกัด ขนาดของแหล่ง Android ที่ฉันต้องการดาวน์โหลดด้วย“ repo sync” ได้อย่างไร?


16

ฉันวางแผนที่จะเดินทางไปประเทศที่มีการเชื่อมต่ออินเทอร์เน็ตที่ไม่ดีซึ่งฉันหวังว่าจะทำการพัฒนาซอฟต์แวร์

ฉันใช้repo syncเพื่อซิงค์แหล่ง Android (และแหล่ง CyanogenMod บนเซิร์ฟเวอร์ AWS ของฉัน) แต่มันมีขนาดใหญ่มาก (> 30 GB) ที่ฉันจะไม่รับก่อนที่จะออกจากประเทศ

มีวิธีใดบ้างที่ฉันสามารถยกเว้นรหัสจากทรีได้ ฉันต้องการอุปกรณ์ Nexus 7 (wifi) (เก๋าเปอร์) เท่านั้น ฉันสามารถยกเว้นโครงการใด ๆ ได้หรือไม่ ถ้าเป็นเช่นนั้นได้อย่างไร

ฉันใช้ Ubuntu 12.04 และซื้อคืน

(ฉันกำลังใช้แท็บเล็ต Android สำหรับการให้การศึกษาแก่เด็ก ๆ ในส่วนที่ยากจนของโลกฉันต้องการล็อค UI เพื่อให้เด็กสามารถใช้แอปการศึกษาได้เท่านั้นเนื่องจากเป็นมาตรการกันขโมยฉันต้องเปิดใช้งานการสร้าง ของฮอตสปอต Wi-Fi และให้แท็บเล็ตปิดการใช้งานด้วยตนเองหากไม่ได้เชื่อมต่อกับแท็บเล็ตอื่นผ่าน Wi-Fi เป็นเวลา 48 ชั่วโมง)


2
บางทีคุณสามารถโคลนด้วย--depth 0เพื่อรับการแก้ไขล่าสุดเท่านั้น หรือเช็คเอาต์แบบเบาบาง: การไดเรกทอรีย่อยการชำระเงินด้วย git sparse-checkout »รหัส Nomad
slhck

เห็นด้วยกับ Nomad ส่วนใหญ่ของแหล่งที่มาคือประวัติรุ่น อุปกรณ์เฉพาะส่วนนั้นมีไม่มาก นอกจากนี้แทนการโคลนนิ่งระบบปฏิบัติการทั้งคุณสามารถเพียงแค่ได้รับที่เก็บคอมไพล์สำหรับส่วนที่คุณมีความสนใจใน.
Nicholaz

ขอบคุณมากนั่นเป็นคำแนะนำอันล้ำค่าสำหรับใครบางคนในการเชื่อมต่ออินเทอร์เน็ตที่แย่มาก! ในไฟล์ 'repo' มีส่วนคือ: group.add_option('--depth', type='int', default=None, dest='depth', help='create a shallow clone with given depth; see git clone')ฉันเปลี่ยนความลึกเริ่มต้นเป็น 0 และเริ่มการซิงค์ repo ใหม่ ฉันจะรายงานกลับหากสิ่งนี้เป็นสิ่งที่ฉันต้องการ
Chris

ไม่แน่ใจว่าสิ่งนี้ใช้ได้หรือไม่ - แหล่งข้อมูลเต็มยังคงเป็น 42GB ซึ่งบางคนบอกว่าเป็นต้นไม้เต็ม ยังไม่สามารถยืนยันได้ในขณะที่ฉันผ่าน ftp'ing ในพื้นที่
Chris

2
เรียน OP: คำถามของคุณดีมาก อย่างไรก็ตามคุณถามในเว็บไซต์ที่ไม่ถูกต้อง หากคุณได้ถามคำถามของคุณในที่ที่ถูกต้อง (บน Stack Overflow) คุณจะได้คำตอบที่ดีขึ้นเรื่อย ๆ ฉันได้อีกครั้งถามคำถามที่คล้ายกันในกองมากเกิน ; กรุณาไปที่นั่นถ้าคุณต้องการดูคำตอบที่ดีกว่า
น่าจดจำโมนิ

คำตอบ:


36

นี่อาจจะสายเกินไป แต่:

  • คุณสามารถผ่าน--depth=1ไปrepo initจะได้รับการโคลนตื้น
  • และคุณสามารถใช้repo sync -cเพื่อชำระเงินเฉพาะสาขาปัจจุบัน

5
อาจจะสายเกินไปที่จะช่วยผู้ถามเดิม แต่มันยังไม่สายเกินไปที่จะช่วยคนอื่นที่ต้องการทำโคลนตื้นของ Android
ลืมไปเลย

6
สุดยอดเคล็ดลับ อีกหนึ่งเคล็ดลับ: ฉันใช้repo sync -c -n -j 4 && repo sync -c -l -j 16เพื่อการซิงค์ที่เร็วขึ้น
Korniltsev Anatoly

0

ในขณะที่มีการเรียกใช้การซิงค์ซ้ำแม้ว่าจะมีการเลือกสาขาเฉพาะรหัสจากสาขาทั้งหมดจะถูกดาวน์โหลด เพื่อ จำกัด ขนาดการดาวน์โหลดคุณสามารถดาวน์โหลดรหัสได้จากเว็บไซต์ Github เช่นนี้คุณสามารถดาวน์โหลดรหัสจากสาขาที่คุณต้องการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.