Cómo evitar conflictos en el proyecto Xcode (.pbxproj)

Conflictos en pbxproj (Xcode) con Git

Con una frecuencia sorprendente he visto como algunos equipos se quejan de tener conflictos con git en el proyecto de Xcode (.pbxproj) y no saben cómo evitarlo.

El fichero pbxproj es una property list, es decir un tipo de xml y en principio no debería haber casi posibilidades de conflicto.

La única forma de tener un conflicto con git en un fichero pbxproj es si dos usuarios han añadido un fichero en el mismo momento al mismo grupo. Incluso esto no debería de ser problemático, ya que Xcode usa unos identificadores únicos. Lo malo es que dichos identificadores únicos, no son tan únicos como deberían…

Así que si en tu equipo tenéis conflictos con git en el proyecto de Xcode (pbxproj), no desesperes, hay gente con problemas peores:

 

Como la forma más común de generar un conflicto es añadiendo dos ficheros (uno cada usuario) en el mismo grupo, la cura más probable para ese conflicto es quedarse con ambas versiones, es decir, aceptar ambos cambios.

Soluciones a los conflictos con pbxproj

a) La Manual, usando la herramienta “File Merge” que viene con Xcode.

Esta herramienta entiende el formato de los pbxproj y puede arreglar fácilmente casi cualquier desaguisado.

b) La automágica, indicándole a git que siempre se quede con ambas modificaciones del fichero:

Usa esto último con precaución y haz pruebas antes de ponerlo en producción.

Si quieres saber más de Git, te recomiendo nuestro curso de git. Jamás una herramienta aumentó tanto mi productividad como saber bien Git y TDD. Palabra de friki.

 

Acerca de Fernando Rodríguez Romero

Co-Founder & Trainer at @Keepcoding_es. Advanced iOS instructor at @bignerdranch. Previous life as pythonista and smalltalker. Coder, Speaker, Blogger, Dad&Cook

Share this:

2 comments, add yours.

¿Puedes aportar mas informacion?, ha sido Genial encontrar mas datos sobre este tema.

Saludos

    KeepCoding Team

    KeepCoding Team

    ¡Claro! Cuando quieras estamos por aquí para cualquier duda, compañeros.

Leave a comment