version-control mercurial bitbucket kiln appharbor

version control - Empuje a múltiples repositorios remotos desde un único repositorio local en Mercurial



version-control bitbucket (2)

Estaba considerando usar AppHarbor para alojar un sitio web ligero y estaba investigando su integración con Mercurial.

Actualmente uso Kiln para mis repositorios remotos, pero actualmente AppHarbor solo admite la integración de BitBucket.

¿Es posible tener 2 repositorios remotos para un solo repositorio local? Entonces, cuando presiono los compromisos de mi local, ¿ambos reciben el impulso?

No quiero tirar nunca de BitBucket, solo presionar para que AppHarbor lo pueda agarrar e implementar.


No estoy seguro de si puede editar el archivo hgrc en Bitbucket / Kiln. Si puedes, puedes hacer esto automáticamente. Si no es así, puede enviar a otra copia local, que luego envía tanto a Bitbucket como a Kiln utilizando Hooks. Vea esta respuesta por Ton (incluida a continuación para su conveniencia):

En su servidor central usted crea un gancho de grupo de cambios.

Entonces tu servidor central tendría el siguiente hgrc:

[paths] server2=http://server2 server3=http://server3 [hooks] changegroup.server2 = hg push -f server2 changegroup.server3 = hg push -f server3

Puede tener varios enlaces para el mismo evento, por lo que no debería ser un problema. La ventaja del gancho del grupo de cambios sobre el gancho de conjunto de cambios es que se ejecuta con mucha menos frecuencia.


Puede establecer varios alias de repositorio remoto en la sección [paths] del archivo de configuración del repositorio. Este archivo está en .hg / hgrc, y usted agregaría rutas como esta

[paths] default = http://kilnhg.com/repo bitbucket = http://bitbucket.org/repo

Luego ejecutaría hg push bitbucket para empujar a bitbucket y hg push para empujar al horno, que también es el valor predeterminado aquí. El alias default es el que se usa cuando no especifica nada más. De esta manera, empujar y jalar sin argumentos utilizaría su host remoto preferido, el horno.

Lamentablemente, no puede hg push * un comando hg push * type para enviar a todos los hosts remotos a la vez, debe especificar cada destino de inserción uno por uno.