In Mercurial , bu şema kullanılarak, kullanılabilir ->
anlamında olabildikleri subrepo ilişkisine:
product -> client -|-> (many components)
|-> shared component A
-> server -|-> (many components)
|-> shared component A
Ürünün subrepos istemcisi, sunucusu var. Bunların her biri, alt ikisi olarak bileşenlerine sahiptir, muhtemelen ikisi arasında paylaşılan en az bir alt repo.
Etiketleme muhtemelen ilk iki seviyede yapılmalıdır, bunun altında değil.
Taahhütler bileşen düzeyinde yapılır, süperpozisyon, ürünün adlandırılmış dallarını ve sürümlerini etkili bir şekilde izler. Adlandırılmış dallar / yer imleri genellikle kullanılabilirlik (yani eğitilebilirlik) ve alt depolarla uyumluluk için klon dallarından daha iyidir.
hg, süperpozitlerin olduğu varsayımına yönelir . ürün ve kaydedilmesini üst düzeyinde yapılabilir, ancak birden fazla ürün aynı bileşenleri kullandığınızda özellikle iyi çalışmıyor. :-)
Git'e geçilirse bu şemanın çok değişeceğini sanmıyorum, ama henüz git'te denemedim.