La plupart des systèmes de contrôle de version (VCS) sont conçus pour le texte. Ils ont généralement des fonctionnalités très puissantes et pratiques pour comparer ( diff
) et fusionner le code source, et certains outils peuvent même fusionner automatiquement les modifications (et faire un travail décent pour deviner comment les modifications doivent être fusionnées et à quel moment le développeur doit être sollicité pour effectuer une fusion manuelle).
Ce serait formidable d'avoir un meilleur support diff
et une meilleure fusion des fichiers binaires à partir des applications respectives qui utilisent ces fichiers. Microsoft Word, par exemple, permet de comparer deux documents, et bien qu'il soit loin d'être un outil de fusion pratique, c'est toujours mieux que rien et cela m'a fait gagner des heures à plusieurs reprises. Malheureusement, la fonctionnalité de fusion est généralement soit supervisée dans les produits logiciels, soit difficile à implémenter (comment visualisez-vous diff
une scène 3D?)
En ce qui concerne les fichiers binaires, vous obtenez peu d'aide de VCS. Non seulement ils ne peuvent pas stocker efficacement les modifications successives, mais ils ne peuvent pas non plus vous aider à fusionner les modifications.
Il y a deux ans, j'ai posé une question très similaire concernant l' utilisation du contrôle de version dans les logiciels de montage vidéo . Je pense que les réponses qui ont été apportées à ma question s'appliquent également ici, la seule différence (mais importante) étant que ma question concernait de gros fichiers, alors que dans votre cas, les fichiers binaires sont probablement relativement petits.
L'approche que vous avez trouvée, à savoir «travailler à tour de rôle sur les mêmes objets», est la bonne. Si vous ne pouvez pas fusionner, ne travaillez pas en parallèle sur les mêmes choses. Si vous travaillez dans le même bureau, cela pourrait être facile à faire. Sinon, la plupart des systèmes de contrôle de version ( y compris celui que vous utilisez ; il est également discuté ici dans un contexte de BitBucket) prennent en charge le verrouillage , qui consiste pour l'utilisateur d'un VCS à dire, via le système, qu'il travaille sur un droit de fichier donné maintenant; d'autres utilisateurs peuvent charger la dernière version du fichier, mais ils ne sont pas censés la modifier.