L'idée de VERSION CONTROL (abusif: source control) est de vous permettre de revenir en arrière dans l'historique, de récupérer l'effet des modifications, de voir les modifications et pourquoi elles ont été apportées. Il s'agit d'une gamme d'exigences, dont certaines nécessitent des trucs binaires, d'autres non.
Exemple: Pour le travail de firmware intégré, vous aurez normalement une chaîne d'outils complète: soit un compilateur propriétaire qui coûte beaucoup d'argent, soit une version de gcc. Afin d'obtenir l'exécutable d'expédition, vous avez besoin de la chaîne d'outils ainsi que de la source.
Vérifier les chaînes d'outils dans le contrôle de version est pénible, les utilitaires de diff sont horribles (voire pas du tout), mais il n'y a pas d'alternative. Si vous voulez que la chaîne d'outils soit préservée pour le gars qui vient regarder votre code dans 5 ans pour comprendre ce qu'il fait, alors vous n'avez pas le choix: vous DEVEZ également avoir la chaîne d'outils sous contrôle de version.
Au fil des ans, j'ai constaté que la méthode la plus simple pour ce faire est de créer une image ZIP ou ISO du CD d'installation et de l'archiver. Le commentaire d'archivage doit être le numéro de version du fabricant spécifique de la chaîne d'outils. Si gcc ou similaire, regroupez tout ce que vous utilisez dans un gros ZIP et faites de même.
Le cas le plus extrême que j'ai fait est Windows XP Embedded où la "chaîne d'outils" est une machine virtuelle Windows XP en cours d'exécution, qui comprenait (à l'époque) SQL Server et une pile de fichiers de configuration ainsi que des centaines et des centaines de fichiers correctifs. L'installation de l'ensemble du lot et sa mise à jour prenaient environ 2-3 jours. Préserver cela pour la postérité signifiait vérifier l'intégralité de la machine virtuelle dans le contrôle de version. Étant donné que le disque virtuel était composé d'environ 6 x 2 Go d'images, il s'est plutôt bien déroulé. Cela semble exagéré, mais cela a rendu la vie très facile à la personne qui est venue après moi et a dû l'utiliser - 5 ans plus tard.
Résumé: Le contrôle de version est un outil. Utilisez-le pour être efficace, ne vous attardez pas sur des choses comme le sens des mots, et ne l'appelez pas "contrôle de source" parce que c'est plus grand que ça.