Şu anda git submodules repo'su da dahil olmak üzere birçok SVN ve Git deposundan (her biri yaklaşık% 50) oluşan karmaşık ve verimsiz bir yapı sistemimiz var. Ayrıca her şeyi az çok iyi yöneten ev yapımı senaryolarımız da var.
(Kapalı kaynaklı) kod tabanımızın önemli bir noktası, sıkı bir şekilde bağlanmış olması ve her projenin aynı anda aynı sürümde yayınlanmasıdır.
Bunu daha basit bir sisteme ve tek bir VCS'ye taşımak istiyoruz ve git alt modülleri, google Repo ve monorepos gibi çeşitli seçenekleri düşünüyoruz. Nihai VCS henüz tanımlanmamıştır (onu zorunlu kılan seçenekler hariç) ve durumumuza daha iyi uyacaksa svn, git veya başka bir şey olabilir.
Her bir çözümün artı ve eksi özelliklerini listelemeye çalışıyoruz ve şu anda monorepos ile ilgili en önemli sorunlarımızdan biri, sadece bazı modülleri harici bir varlıkla paylaşmanın kolay görünmemesi ve hatta mümkün olmamasıdır. Bu kişilerin bu modüller üzerinde normal şekilde ödeme yapmasını ve çalışmasını istiyoruz, ancak deponun geri kalanının koduna veya geçmişine erişememelerini istiyoruz. Şu anda sık sık veya yoğun olarak yaptığımız bir şey değil, ama gelecekte olabiliriz ve bunun kabus olmasını istemiyoruz çünkü burada kötü bir karar verdik.
Bir VCS sisteminde böyle bir ayrıcalık yönetim sistemi var mı?
Yoksa bu sorunu hafifletmenin bir yolu var mı?