2010-08-19 14 views
5

He hecho una bifurcación de algún proyecto codeplex. He hecho un código extra, etc. e incluso he incluido mi código personalizado en el repositorio de control de código fuente.¿Cómo puedo sincronizar mi horquilla CodePlex Mercurial personalizada contra el maletero principal?

En esas pocas semanas y meses desde que trabajaba en mi propio tenedor, su baúl principal se ha actualizado.

¿cómo puedo sincronizar mi código con el del maletero?

(la razón principal para mí querer sincronizar mi código con el tronco es que nos pasaron a VS2010 y todavía estoy usando una versión proyecto VS2008 :().

+0

¿Está buscando el comando mercurial 'merge'? – Borealid

+0

@borealid - fusionar? tal vez :) cualquier información sobre cómo usar eso (antes de buscarlo en Google). –

+0

Tiene su árbol local de HG, y tira de su cabeza HG remota a través de 'hg pull', y luego hace' hg merge' para unir las dos cabezas. – Borealid

Respuesta

9

Me acabo de encontrar con el mismo problema y Si bien los comentarios anteriores conducen a la respuesta correcta, es posible que no se corten para una persona nueva en Mercurial que quiera contribuir con un proyecto de código abierto.

Un simple hg pull solo arrojaría cualquier cambio desde su tenedor a su repositorio clonado local, no es útil en este caso. Hay un parámetro opcional [SOURCE] que le permite extraer del tronco en su lugar.

Aquí están los comandos de la línea de comandos de Mercurial necesarios para realizar el trabajo (reemplace "someprojectname" por el proyecto CodePlex deseado o, para sistemas similares, reemplace la URL completa con la URL del tronco de la horquilla [vs. URL de su tenedor]):

  1. [Opcional] Ver qué conjuntos de cambios están en el tronco, pero no en su repositorio local: hg incoming https://hg01.codeplex.com/someprojectname
  2. Tire nuevos conjuntos de cambios a su repositorio: hg pull https://hg01.codeplex.com/someprojectname
  3. fusionar esos cambios dentro de su propio código (resolución de conflictos en consecuencia): hg merge
  4. cometer los resultados a su repositorio local: hg commit -m "Some message about merging changes from trunk."
  5. Empuje la versión actualizada de su código de su repositorio local a su tenedor en CodePlex: hg push
+0

Gracias @patridge - ¡woot! –

Cuestiones relacionadas