ปัจจุบัน บริษัท ของฉันมี Visual Studio solation ใน repo SVN ที่จัดเป็นดังนี้:
SolutionFolder (~3.5 GB)
|-> SolutionName.sln
|-> .. Some source code folders... (~250 MB)
|-> ThirdParty (~3 GB)
|-> Tools
| -> Tool1
| -> Tool2
Tool1 และ Tool2 เป็นบิลด์อิสระ (มีโซลูชันของตัวเอง) แต่สร้างไฟล์ปฏิบัติการที่ใช้ในบิลด์หลัก โฟลเดอร์ ThirdParty มีการขึ้นต่อกันทั้งหมดของโครงการรวมถึงไฟล์. lib ขนาด 100+ MB ที่รวบรวมไว้ล่วงหน้าและไลบรารี่ขนาดใหญ่เช่นบูสต์
มันสะดวกที่จะมีทุกอย่างใน SVN repo เพื่อให้นักพัฒนา (1) ต้องเช็คเอาต์เพียงครั้งเดียวและ (2) เราไม่จำเป็นต้องติดตามเวอร์ชันการพึ่งพาที่เราต้องการสำหรับบิลด์แต่ละเวอร์ชัน ในด้านพลิกมันใช้เวลาสักครู่เพื่อตรวจสอบ repo นี้
อะไรจะเป็นวิธีที่ดีที่สุดในการย้ายโครงสร้างโครงการนี้ไปคอมไพล์? สันนิษฐานว่าเป็นการดีที่สุดที่จะไม่รวม ThirdParty และเครื่องมือจาก repo หลัก แต่เราต้องการให้ ThirdParty ดาวน์โหลดได้ง่ายในขั้นตอนเดียวและเราชอบเวอร์ชัน (และเวอร์ชันไม่ตรงกันระหว่าง repo หลักและ ThirdParty / Tools จะไม่ดี)
ณ จุดนี้ฉันไม่ได้สนใจในการรักษาประวัติศาสตร์เพียงในการหาวิธีการจัดระเบียบโครงการดังกล่าว