2012-01-21 10 views
7

El resultado que necesitaría es que al clonar un repositorio, el código esté en la última revisión de una rama que no sea la rama predeterminada, sin necesidad de hacer "hg update mybranchname" . ¿Esto es posible?mercurial estableció una rama como la nueva rama predeterminada

+0

Quizás una duplicación de http://stackoverflow.com/questions/5424377/make-another-branch-default – phemios

+0

tiene razón, la pregunta en el enlace de arriba es la mía. Lamento haber buscado en google pero no lo encontré. – giuspen

Respuesta

8

El consejo hasta ahora ha sido: deberías always use default as your main branch ya que Mercurial hará el pedido default si lo encuentra en el repositorio.

Esto cambia un poco con Mercurial 2.1: ahora puede cerrar la rama default (si tiene una) y agregar un marcador llamado default en su lugar. Un nuevo clon recuperará el marcador y lo actualizará, cambiando efectivamente a otra rama en el proceso.

Tenga en cuenta que es su responsabilidad mantener el marcador default apuntando al encabezado de la rama que desea pagar, por lo que esto no es 100% infalible.

+0

, esta parece ser la solución completa, gracias. – giuspen

+1

+1 MUY interesante! Súper. – Andomar

1

Usted podría combinar la rama en la rama por defecto, como:

hg merge mybranchname 
hg commit 

Ahora la rama es, en efecto, la rama principal. Puede ocultar la rama de edad con:

hg update mybranchname 
hg commit --close-branch 
+0

por lo que la única forma es fusionarse desde la rama predeterminada, no puedo dejar muchas ramas y establecer una rama personalizada como la nueva rama predeterminada? – giuspen

+0

Hmm, puede 'clonar -b minombre de bifurcación http: //repo.url localdir' para comenzar con" mybranchname "desprotegido. No creo que haya una manera de hacer que la "punta" apunte a otra rama, ya que "punta" es una rama real en sí misma. – Andomar

+0

@Andomar - tip no es una rama, pero bookpark especial, FYI –

0

Por ramas defecto por defecto no es "por defecto", pero la rama de la punta.

Comprométete antes de clonar-tirar a cualquier rama existente.

+1

lo siento, no entendí tu respuesta – giuspen

+0

Siempre te comprometes con la ** rama de tip changeset ** (si no está activa antes de comprometerse con otra rama), no con la rama "predeterminada" –

+0

ya cometí cientos de veces en una rama que me gustaría convertirme en la rama predeterminada Entiendo que esto solo es posible mediante una fusión en la rama predeterminada – giuspen

Cuestiones relacionadas