ฉันเริ่มโคลนที่เก็บ SVN โดยใช้การดำเนินการโคลนของ git-svn หลังจากนำเข้าประมาณ 6 ชั่วโมง (เป็น repo ครั้งใหญ่) คอมพิวเตอร์ของฉันก็เข้ามานอนกับฉัน มีวิธีดำเนินการต่อโดยไม่ต้องทำซ้ำงานเริ่มต้นทั้งหมดหรือไม่?
ฉันเริ่มโคลนที่เก็บ SVN โดยใช้การดำเนินการโคลนของ git-svn หลังจากนำเข้าประมาณ 6 ชั่วโมง (เป็น repo ครั้งใหญ่) คอมพิวเตอร์ของฉันก็เข้ามานอนกับฉัน มีวิธีดำเนินการต่อโดยไม่ต้องทำซ้ำงานเริ่มต้นทั้งหมดหรือไม่?
คำตอบ:
git svn fetch
คำสั่งที่จะกลับมาgit svn clone
ได้รับการยืนยันจากหลายแหล่งที่มา:
(อนึ่งหากในระหว่างขั้นตอนการโคลนเริ่มต้นการเชื่อมต่อของคุณเสียชีวิตหรือคุณจำเป็นต้องหยุดการโคลนเพื่อดำเนินการโคลนต่อคุณเพียงแค่เรียกใช้คำสั่งด้านบนเพื่อดาวน์โหลดประวัติต่อ)
ดูเหมือนจะมีหน่วยความจำรั่วเข้า
git-svn
มา ขนาดของgit-svn
กระบวนการเติบโตอย่างช้าๆและหลังจากนั้นประมาณสองสัปดาห์มันก็อยู่ที่ขนาด 1.2 GB ที่อาศัยอยู่ซึ่งเมื่อถึงจุดนั้นระบบปฏิบัติการก็ไม่ยอมปล่อยให้มันแยกออก
นี่เป็นพรที่ปลอมตัว
ฉันสามารถกลับมาใช้งานโคลนที่ถูกขัดจังหวะต่อได้ด้วย "" ธรรมดา ๆgit svn fetch
และมันก็วิ่งได้เร็วขึ้นมากด้วยฮีปที่เล็กลงอย่างสิ้นเชิง
สิ่งนี้ทำงานได้ดีมากที่จริงแล้วฉันมีนิสัยชอบขัดจังหวะและเริ่มกระบวนการใหม่ทุกเย็นและทุกเช้า ไม่กี่วันต่อมาก็เสร็จ
คุณเริ่มการผจญภัยของคุณด้วยการ
git-svn
โคลนที่เก็บการโค่นล้มที่มีอยู่:
git svn clone url://path/to/repo -s
-s
ธงสันนิษฐานว่าพื้นที่เก็บข้อมูลของคุณใช้ "ลำต้นกิ่งก้านแท็ก" การประชุม ถ้าไม่คุณต้องระบุด้วยตนเองว่าไดเรกทอรีใดเป็นตัวแทนของสาขาและแท็กหากคุณต้องการให้ Git ทราบเกี่ยวกับสิ่งเหล่านี้การดำเนินการนี้จะใช้เวลานานเนื่องจากจะดึงข้อมูลการแก้ไขทุกครั้งจาก SVN และดำเนินการภายในเครื่อง ไม่ว่าด้วยเหตุผลใดก็ตามคุณสามารถดำเนินการต่อ
git svn fetch
ได้
git svn clone
ขัดจังหวะกระบวนการ การเรียกใช้git svn clone
อีกครั้งดูเหมือนจะดำเนินการต่อการโคลน มีใครทำแบบนี้อีกไหม
ฉันพบบล็อกโพสต์ที่ให้สิ่งที่ (ฉันหวังว่า) เป็นคำตอบที่ถูกต้อง
เห็นได้ชัดว่าการรันgit svn fetch
อย่างมีประสิทธิภาพจะทำให้การดำเนินการโคลนเสร็จสมบูรณ์ หวัง!
git svn rebase
หลังจากการดึงข้อมูลเพื่อให้การดำเนินการเสร็จสมบูรณ์และมีสาขาหลักที่สะท้อนลำต้น
ในฐานะ VonC CaptainAwesomePants และ Archi ต่างgit svn fetch
ก็กล่าวว่าเป็นเคล็ดลับ ฉันกำลังทำ a git svn clone url... --authors-file=path/to/file
และการโคลนล้มเหลวเนื่องจากผู้เขียนคนหนึ่งไม่ได้อยู่ในไฟล์ผู้เขียน ฉันเพิ่มผู้เขียนลงในไฟล์และเรียกใช้git svn fetch
และดำเนินการต่อจากจุดที่ค้างไว้และดูที่บันทึกคอมไพล์ในภายหลังดูเหมือนว่าจะใช้ผู้เขียนที่เพิ่มใหม่เพื่อแทนที่ชื่อผู้เขียนคอมมิตดังนั้นทุกอย่างจึงดูดี
จาก git อย่างน้อย 2.1.0 คุณสามารถดำเนินการต่อได้โดยการออกใหม่ git svn clone
อย่างไรก็ตามสิ่งนี้จะทำซ้ำบางรายการใน. git / config ของคุณลบรายการเหล่านั้นและทุกอย่างจะดี
From at least git 2.1.0...
มีความคิดว่าคุณลักษณะนี้มีอยู่ที่ git 1.9.1 หรือไม่?
git svn fetch
ทำให้การตรวจสอบไม่ตรงกันสำหรับฉัน - และเป็นไปไม่ได้ที่จะรีเซ็ตเนื่องจากเห็นได้ชัดว่าไม่มี HEAD: / - แต่ใช้งานได้ดีเพียงแค่ลบsvn-remote.fetch
จาก.git/config
git svn clone
ยังจำเป็นต้องมีการจัด (แล้วแต่กรณี)git svn fetch
เพื่อ เช่นฉันได้ตั้งค่า-r HEAD
สำหรับการgit svn clone
จะได้รับเพียงการแก้ไข HEAD SVN เพื่อดำเนินการต่อฉันวิ่งgit svn fetch
ซึ่งเริ่มนำเข้าการแก้ไขทั้งหมด