2010-06-11 8 views
14

He hecho algo de programación y he usado Mercurial para control de fuente. Ahora necesito enviar todo mi código a otra persona (porque van a tomar el control).Mercurial: forma recomendada de enviar un repositorio completo a alguien

Dado que todas las copias de un repositorio de mercurial es un repositorio completo y real, mi primer pensamiento es primero hacer un clon de mi repositorio sin una actualización y luego comprimir y enviar por correo electrónico ese clon. ¿Es esta una buena manera, o hay una mejor manera?

Por ejemplo, al utilizar el Explorador de repositorio de TortoiseHg puedo hacer clic con el botón derecho en un conjunto de cambios y en Exportar hay varias opciones que parecen estar haciendo algo interesante, pero no los entiendo ni sé a cuál utilizar.

+0

Meta: Su sugerencia funciona, y es lo que Jason Webb sugiere, pero la sugerencia de bjlaub de un paquete será más pequeña y más bonita. –

Respuesta

16

Lo que se ha sugerido no tendrán ningún problema, pero también se puede utilizar hg bundle para crear un archivo changegroup encapsular una copia comprimida de todo el repositorio (ver hg help bundle para los detalles completos, o esta página: http://www.selenic.com/mercurial/hg.1.html#bundle).

En la máquina:

hg -R /path/to/repo bundle --all my_repo.hg 

A continuación, envíe my_repo.hg fuera al otro desarrollador, que puede clonar directamente de que:

hg clone my_repo.hg /path/to/new/clone 

(Nota: este tipo de supone que está trabajando linux, pero imagino que TortoiseHg admite algo similar, ya que esta es una característica básica de Mercurial).

EDIT: Parece que el equivalente usando TortoiseHg sería exportar una amplia gama de conjuntos de cambios como un paquete (ver aquí: http://tortoisehg.bitbucket.io/manual/2.9/patches.html#export-patches). En este caso, desea seleccionar el primer conjunto de cambios a lo largo de la punta y exportarlo como un paquete.

+0

Gracias! Funcionó bien. Puede usar la línea de comando en Windows también :) – Svish

0

Cada carpeta es una copia completa del repositorio. Simplemente envíe la carpeta completa y ellos tendrán todo lo que necesitan.

Alternativamente, puede clonar una copia de la carpeta y enviarles el clon. Esto les permitiría retroceder cambios si es necesario en el futuro.

Cuestiones relacionadas