¿Cómo controlar una versión de un subdirectory de un repository Mercurial simultáneamente en un CVS?

¿Cómo controlar una versión de un subdirectory de un repository Mercurial simultáneamente en un repository CVS como un subdirectory?

La razón por la que necesito esto es porque una versión de proyecto privada controlada con Mercurial tiene un subdirectory de código y resources que resultan útiles para un proyecto global de múltiples personas, que es controlado por la versión con CVS. Quiero continuar el desarrollo en el repo de Mercurial, pero cuando esté comprometido, me gustaría que también se propague al repository de CVS. Ocasionalmente, otras personas se comprometerán a través de CVS a este directory, me gustaría poder get esas revisiones en mi repository de Mercurial también. ¿Alguna buena solución para este senario?

Hicimos esto para un directory de inclusión en una empresa en la que trabajé. Lo que terminamos haciendo es forzar a todos a comprometerse con el repository de CVS. Luego escribí un trabajo cron que confirmaría los cambios realizados en el repository CVS en los repositorys relevantes de Mercurial. Nuestro caso se complicó por el hecho de que el repository de Mercurial incluía un tree completo (no solo el directory de inclusión). Si tuviera que hacerlo de nuevo, convertiría el directory de inclusión en un repository separado.

Teniendo los dos repos juntos, la pregunta SO relacionada: ¿ Mercurial y SVN uno al lado del otro en el mismo directory de trabajo? . Por lo tanto, tener las carpetas svn dentro de la carpeta mercurial no debería ser un problema. Recuerde agregar .svn/ repo a .hgignore .

La propagación de uno al cometer el otro podría ser más complicado. La forma más simple sería comprometer / jalar / sincronizar ambos por separado. Una vez que sincronice la carpeta svn, la próxima vez que ejecute el command hg, el cambio anterior se propagará a hg. Y viceversa. Como un repository está dentro del otro, no debería ser un problema ver los cambios de cada reflection en el otro.