Hay algunas cosas que puede hacer, dependiendo del comportamiento que esté buscando.
¿Está realmente editando y cometiendo dentro del subrepo? Si es así, debe crear un repositorio de rama de proveedor por separado en el que combine sus cambios con los cambios ascendentes ("sus"), y tenga su subrepo apuntando a eso. Algo como esto quizá:
repos
main
subrepo
.hgsub # contains: "subrepo=../theirproject"
theirproject # clone of remote, upstream repo
La idea es que la entrada subrepo no apunta directamente a la cesión temporal de tracción de sólo aguas arriba, sino a uno de su propia donde se fusionan los cambios con "los suyos"
Otro La opción es dejar de hacer cambios en el subrepo. Si no hay cambios, y no se confirma, entonces push pasará ese repositorio directamente. Si cambia a ese modo de trabajo, puede configurar commitsubrepos = false
en la sección [ui]
en un archivo hgrc para evitar comprometerse accidentalmente en ese repositorio.
La conclusión es que si estás cambiando las cosas allí, entonces tienes que comprometerlas (¡por seguridad!) Y si las cometes, las presionarán si empujan al padre, así que solo tienes que controlar a donde están empujados y eres bueno para ir.
@Mercurial ¿Mercurial no tiene algo similar al archivo Git .gitignore? – Arlen
Por supuesto que sí, pero él está hablando de subrepos no por archivo ignorando. Git tiene el mismo contenido de subrepo, y de manera similar no se resolvería con .gitignore. –
No quiero ignorar los subrepos, simplemente no quiero que sean parte del empuje ya que nunca cambiarán. – Soviut