ขณะนี้เรามีระบบการสร้างที่ซับซ้อนและไม่มีประสิทธิภาพซึ่งประกอบด้วย repos SVN และ Git จำนวนมาก (ประมาณ 50% ต่อรายการ) รวมถึงระบบที่เป็น repod submitules git เรายังมีสคริปต์แบบโฮมเมดที่จัดการสิ่งต่าง ๆ ได้ไม่มากก็น้อย
จุดสำคัญของโค้ดเบสของเรา (แหล่งปิด) คือมันมีการเชื่อมโยงอย่างแน่นหนาและทุกโครงการจะถูกปล่อยออกมาในเวลาเดียวกันภายใต้เวอร์ชันเดียวกัน
เราต้องการย้ายข้อมูลนี้ไปยังระบบที่ง่ายขึ้นและ VCS เดียวและกำลังพิจารณาตัวเลือกหลายอย่างรวมถึง: git submodules, google Repo และ monorepos VCS ขั้นสุดท้ายยังไม่ได้กำหนด (ยกเว้นตัวเลือกที่มอบอำนาจให้) และอาจเป็น svn คอมไพล์หรือแม้แต่อย่างอื่นถ้ามันจะเหมาะกับสถานการณ์ของเราดีขึ้น
เรากำลังพยายามแสดงรายการบวกและลบของแต่ละวิธีแก้ปัญหาและหนึ่งในปัญหาสำคัญที่เรามีในขณะนี้คือ monorepos ว่ามันดูไม่ง่ายหรือเป็นไปได้ที่จะแบ่งปันเพียงบางโมดูลให้กับหน่วยงานภายนอก เราต้องการให้คนเหล่านั้นสามารถชำระเงินและทำงานได้ตามปกติในโมดูลเหล่านั้น แต่ไม่สามารถเข้าถึงรหัสหรือประวัติส่วนที่เหลือของ repo มันไม่ใช่สิ่งที่เราทำบ่อยครั้งหรืออย่างกว้างขวางในขณะนี้ แต่เราอาจจะเกิดขึ้นในอนาคตและเราไม่ต้องการให้เรื่องนี้กลายเป็นฝันร้ายเพราะเราตัดสินใจไม่ดีที่นี่
ระบบการจัดการสิทธิ์พิเศษนั้นมีอยู่ในระบบ VCS หรือไม่?
หรือมีวิธีใดที่จะบรรเทาปัญหานี้ได้บ้าง?