Cómo añadir ramas remotas en git si clonaste con –depth o –single-branch

Supongamos que tengo un repo gigantesco y quiero descargar solo 100 commits para clonar más rápido:

$ git clone --branch 9.0 --depth 100 https://github.com/odoo/odoo.git

Guay, pero ahora necesito 100 commits de la rama 10.0 también para poder cambiar a ella. Normalmente haría:

$ git fetch --depth 100 origin 10.0
$ git checkout 10.0

Pero me encuentro con que el checkout no funciona como era de esperar… ¿Qué hago?

Continúa leyendo Cómo añadir ramas remotas en git si clonaste con –depth o –single-branch

Cómo actualizar un backport modificado con Git

Bueno, esta tarea es bastante compleja, y no se me ocurren muchos ejemplos teóricos, así que vamos con un caso real.

Como muchos sabréis, soy miembro activo de la OCA y un contribuyente habitual a Odoo.

Una de las novedades de Odoo 9.0 fue el módulo website_slides, que fue backporteado por la comunidad a Odoo 8.0.

Sin embargo, desde que se realizó el backport hasta el día de hoy, el módulo ha recibido varios parches upstream 9.0 que la versión backporteada no tenía, así que lo que quiero es actualizarlo, sin perder el historial de Git.

Continúa leyendo Cómo actualizar un backport modificado con Git

Transferir código entre repositorios, con archivos renombrados

Recientemente tuve que hacer una transferencia de código fuente algo complicada. Tenía que transferir un addon de Odoo desde un repositorio a otro completamente diferente:

Veamos cómo se puede hacer con Git y con Mercurial.

Continúa leyendo Transferir código entre repositorios, con archivos renombrados

Mercurial y Git pueden ser amigos

Si eres como yo, que me gusta Mercurial por encima de todos los demás VCS que he probado, pero te ves obligado a trabajar con Git muchas veces porque, aceptémoslo, es el más popular de todos, hay una herramienta que te hará feliz: Hg-Git.

Continúa leyendo Mercurial y Git pueden ser amigos