Estoy usando Mercurial 1.6. Tengo un repositorio con algunos subrepos (11). Me gustaría enviar el repositorio principal al repositorio remoto predeterminado sin presionar el repositorio secundario. Razones para querer hacer esto incluyen:Empujando el repositorio mercurial sin empujar los subrepos
- Estoy usando repositorios SSH, y lleva mucho tiempo establecer una conexión y no empujar nada a cada uno de los subrepos.
- Tengo confirmaciones en subrepos que no quiero que se propaguen a los repos remotos (aún).
- Subrepos tienen ramas nombradas que no se deben propagar a los repos de repote (y aparentemente no hay forma de pasar nombres de ramas a la operación de inserción de los subrepos).
Sin embargo, no he podido encontrar la manera de lograrlo. Traté de eliminar el contenido de .hgsub y .hgsubstate (sin confirmar), pero aún así mercurial insiste en presionar los subrepos.
¿Cómo puedo enviar los cambios desde el repositorio local al repositorio remoto e ignorar temporalmente los subrepos?
Eso tiene sentido, y me hace pensar que no estamos usando subrepos de la manera en que están destinados a ser utilizados. Los estamos utilizando principalmente para ver fácilmente una colección de repositorios ... y nuestro .hgsubstate siempre se refiere a revisiones NULAS de los subrepos. Parece que la extensión hgforest (ahora en desuso) era mejor para nuestros propósitos que los subrepos. –
Esto tiene sentido, pero Mercurial parece ser demasiado celoso. Tratará de presionar 'abcd1234' incluso cuando esa revisión (ni ninguno de sus descendientes) se invoque en' .hgsubstate'. Incluso 'hg out --S -r .' (el' -S' es para 'recurse en subrepos') no enumera los cambios del subrepo. – weberc2
¿Podemos decirle que no presione si la fase de todos los conjuntos de cambios es pública, ya que esto sugiere (siempre que no establezcamos manualmente la fase en público) que ya se ha presionado. –