¿Cómo usaría Mercurial para el siguiente problema.Uso de Mercurial para separar la versión privada y pública
Supongamos que tengo una biblioteca Core. Ahora quiero desarrollar una extensión a esa biblioteca llamada Extensión. Quiero mantener Core separado físicamente de la extensión, es decir, digamos que Core es una biblioteca de código abierto y Extension es una biblioteca privada que se basa en Core (tal vez contenga algunas cosas que deseo mantener como personal. Lo que sea). Obviamente, no quiero llevar toda la fuente en Extensión al repositorio público. Pero, por otro lado, es posible que desee impulsar ciertos cambios de la Extensión al Núcleo (si decidiera "donar" parte de la Extensión al Núcleo) o viceversa (si quiero incorporar correcciones de errores, por ejemplo).
¿Cómo haría esto para minimizar el riesgo de fugas Extension to Core (una vez que se envía el historial al servidor público, no hay marcha atrás), mientras se mantiene flexible para hacer esto para ciertos cambios. Sucursales? Clones? Mqs? ¿Algo más?
Actualmente estoy familiarizado con los repositorios de clonación, y me gusta su simplicidad.
EDIT: Se me ocurrió este esquema, pero no puedo lograr que funcione en Windows. Dos repositorios (Core y Extensión). En Extensión hay dos ramas , también Core y extensión. Ahora, puede registrar un gancho en Mercurial en el repositorio, así que me gustaría registrar un enlace 'pretxnchangegroup' en el Repo Core que no permita los checkins desde la rama Extension, como se explicó en in the Mercurial book. Excepto que no logro que funcione en Windows. Entonces:
- Alguien tiene un ejemplo de algo como esto (de hecho, cualquier gancho que cambia el resultado de una transacción) en Windows?
- Aún podré usar el trasplante para hacer cambios rápidos desde la extensión hasta la rama Core, ¿verdad?
¿Cómo podría cambiar el gancho a * solo * permitir Core? Sería && salir 0 || salida 1? –