mercurial push mercurial-phases

mercurial - ¿Cómo mantener los conjuntos de cambios en fase "borrador" en hg push?



mercurial-phases (4)

La forma más directa de mantener la fase en draft es configurar el servidor remoto como "no publicado", como ya ha descubierto.

Pero hay una segunda manera, que puede ser útil para algunos si el servidor de destino no se puede configurar como "no publicado" por alguna razón: use pull lugar de push . Pulling es de solo lectura, por lo que si puede configurar su flujo de trabajo (por ejemplo, a través de un alias local) para que el control remoto saque los cambios de su repositorio local, permanecerán en draft fase.

¿Cómo puedo impedir que mercurial ponga los conjuntos de cambios en fase "pública" en las operaciones de inserción? Quiero que se queden "borrador".

Rebase y histedite mucho, y el repositorio al que presiono es solo para mí. Y tener que cambiar la fase todo el tiempo es una molestia.


Lo que la documentación no revela claramente es:

El cambio de fase en el impulso no es una decisión puramente local. - Después de "cargar" los conjuntos de cambios, el cliente le pregunta al servidor por las actualizaciones sobre las fases de las confirmaciones, y el servidor generalmente dice que ahora son "públicas".

Por lo tanto, el .hgrc -snippet

[phases] publish = False

tiene que ser puesto en el servidor, lo que inhibe el cambio de fase habitual allí. El servidor informará las fases de vuelta de la misma manera en que fueron empujadas.

Bitbucket tiene una opción para esto en Configuración → Detalles del depósito → Fases .


Respuesta corta: de ninguna manera

Si desea reescribir el historial tanto localmente como en push-target, debe