Cómo hacer un cherry-pick sin descargar todo el histórico de un proyecto en GitHub

Categorías: Control de versiones Programación
Primero, el contexto: quer√≠a abrir este backport a OCB 9.0, pero hab√≠a clonado as√≠: $ git clone --depth 100 --branch 9.0 https://github.com/OCA/OCB.git El problema ahora es que para hacer cherry-pick del commit correspondiente en Odoo 10.0, hubiera necesitado mucho tiempo descargando todo ese √°rbol de c√≥digo, que es considerablemente grande. Es por eso que us√© un par de herramientas que nos dan git y GitHub para estos menesteres: HUGOMORE42 En cuanto a GitHub, para cada commit o pull request, siempre podemos a√Īadir a la URL:

Lee Mas ‚Üí

Cómo usar autosquash en Git

Categorías: Control de versiones Programación
Cuando uno trabaja en una rama de desarrollo con git, es bastante habitual que haya que cambiar multitud de detalles hasta que se mezcla en la rama principal. A veces lo que estás desarrollando incluye varios commits lógicos, pero se acaban diluyendo entre multitud de "quitar basura", "wip", "typo", "PR review", etc. Para que luego se quede el historial limpio, normalmente se hará un rebase manual, pero en tales circunstancias es un rollo.

Lee Mas ‚Üí

C√≥mo a√Īadir ramas remotas en git si clonaste con –depth o –single-branch

Categorías: Control de versiones
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? HUGOMORE42 Por qu√© sucede Si no hubi√©ramos clonado con --depth 100, la cosa funcionar√≠a as√≠:

Lee Mas ‚Üí

Cómo actualizar un backport modificado con Git

Categorías: Control de versiones Programación
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.

Lee Mas ‚Üí

Transferir código entre repositorios, con archivos renombrados

Categorías: Control de versiones Opinión Programación Tutoriales
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: En el repositorio Antiun/antiun-odoo-addons, el módulo fue creado como crm_department. Más tarde se renombró a crm_partner_department para evitar conflictos con un módulo llamado crm_department de la OCA. Ahora yo tenía que moverlo al repositorio OCA/partner-contact renombrándolo a partner_contact_department (aparte de otros cambios que no vienen a cuento).

Lee Mas ‚Üí

Mercurial y Git pueden ser amigos

Categorías: Control de versiones Empaquetado de software Programación
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. HUGOMORE42 Permite trabajar con Mercurial (y TortoiseHg, claro está) contra repositorios Git de forma casi transparente. Las ramas locales de Git se traducen a bookmarks de Mercurial (que, por cierto, no conocía, y es un método fantástico para trabajar), y las ramas remotas de Git se traducen a etiquetas locales de Mercurial (bueno, algo parecido).

Lee Mas ‚Üí

Escogiendo control de versiones (bzr, git, hg)

Categorías: Control de versiones Opinión Programación
Es una elecci√≥n dif√≠cil. Por suerte o por desgracia he usado los 3 √ļltimamente, as√≠ que ah√≠ van mis impresiones: HUGOMORE42 Bazaar Empezar√© por √©l porque es el que menos me ha gustado, y porque est√° muriendo, as√≠ que no lo recomendar√≠a para proyectos nuevos. Est√° muy bien que viene muy integrado con su GUI Bazaar Explorer, que si bien no es la mejor, es m√°s intuitiva que la l√≠nea de comandos.

Lee Mas ‚Üí