DVCS: ¿repository de control de origen único en diferentes lenguajes de progtwigción?

Tengo un sistema dividido en tres lenguajes de progtwigción diferentes: C #, C ++ y Java. Los dos primeros se administran en dos soluciones de Visual Studio por separado, esta última en un proyecto de Eclipse.

Me gustaría administrar el código fuente para los tres utilizando una solución de sistema de control de versiones distribuidas (DVCS). Específicamente Mercurial.

Cuál de las siguientes opciones sería mejor: A. Tener un único repository que contenga todo el código fuente del sistema. Cada uno de los 3 proyectos "orientados al lenguaje" residen en una subcarpeta diferente.

B. Tener un repository para cada proyecto orientado al lenguaje. Totalizando 3 repositorys independientes.

En ambas opciones planeo administrar los repositorys alternando entre Visual Studio (TortoiseHg) y Eclipse (MercurialEclipse).

Gracias de antemano, urig

Con un DVCS, un repository generalmente está vinculado a un "componente", es decir, un set coherente de files que evolucionan como una unidad completa: si modifica un file, labelrá todos los files.

Entonces, si los tres sets de files (uno para cada idioma) pueden evolucionar de forma independiente unos de otros (por ejemplo, uno está en una versión 1.2 mientras que el otro está en 3.4), entonces es mejor considerar un informe separado para cada grupo de files.
A continuación, puede agrupar esos repos como submodules, en un enfoque más " basado en componentes ".

Si están estrechamente vinculados, una modificación en un grupo activa modificaciones en los otros grupos de files, entonces un repository con directory separado está bien.