La mayoría de los sistemas de control de versiones (VCS) están diseñados para texto. Por lo general, tienen características muy potentes y convenientes para comparar ( diff
) y fusionar el código fuente, y algunas herramientas pueden incluso combinar automáticamente los cambios (y hacer un trabajo decente al adivinar cómo se deben fusionar los cambios y en qué momento se debe solicitar al desarrollador que haga un fusión manual).
Sería genial tener un mejor soporte diff
y fusión de archivos binarios de las respectivas aplicaciones que usan esos archivos. Microsoft Word, por ejemplo, permite comparar dos documentos, y aunque está lejos de ser una herramienta de fusión conveniente, sigue siendo mejor que nada y me ahorró horas en múltiples ocasiones. Desafortunadamente, la función de fusión generalmente se supervisa en productos de software o es difícil de implementar (¿cómo visualiza una diff
escena 3D?)
Cuando se trata de archivos binarios, obtienes poca ayuda de VCS. No solo no pueden almacenar cambios sucesivos de manera eficiente, sino que tampoco pueden ayudarlo a fusionar los cambios.
Hace dos años, hice una pregunta muy similar sobre el uso del control de versiones en el software de edición de video . Creo que las respuestas que se dieron a mi pregunta se aplican parcialmente aquí también, la única (pero importante) diferencia es que mi pregunta se refería a archivos grandes, mientras que en su caso, los archivos binarios son probablemente relativamente pequeños.
El enfoque que encontró, que es "turnarse para trabajar en los mismos objetos", es el mejor. Si no puede fusionarse, no trabaje en paralelo en las mismas cosas. Si trabaja en la misma oficina, podría ser fácil de hacer. De lo contrario, la mayoría de los sistemas de control de versiones ( incluido el que usa ; también se trata aquí en un contexto de BitBucket) admiten el bloqueo , que consiste en que el usuario de un VCS diga, a través del sistema, que está trabajando en un archivo determinado ahora; otros usuarios pueden cargar la última versión del archivo, pero no se espera que lo cambien.