L'idea di VERSION CONTROL (nome improprio: controllo del codice sorgente) è quella di consentire di tornare indietro nella cronologia, recuperare l'effetto delle modifiche, vedere le modifiche e perché apportate. Questa è una serie di requisiti, alcuni dei quali hanno bisogno di cose binarie, altri no.
Esempio: per il funzionamento del firmware incorporato, avrai normalmente una toolchain completa: un compilatore proprietario che costa molto denaro o una versione di gcc. Per ottenere l'eseguibile per la spedizione hai bisogno della toolchain e della fonte.
Controllare le toolchain nel controllo della versione è una seccatura, le utility diff sono orribili (se non del tutto), ma non ci sono alternative. Se vuoi che la toolchain sia preservata per il ragazzo che viene a vedere il tuo codice tra 5 anni per capire cosa fa, allora non hai scelta: DEVI avere anche la toolchain sotto controllo della versione.
Ho scoperto negli anni che il metodo più semplice per farlo è creare un'immagine ZIP o ISO del CD di installazione e verificarlo. Il commento del check-in deve essere il numero di versione specifico del produttore della toolchain. Se gcc o simili, raggruppa tutto ciò che stai utilizzando in un grande ZIP e fai lo stesso.
Il caso più estremo che ho fatto è Windows XP Embedded in cui la "toolchain" è una VM Windows XP in esecuzione, che includeva (allora) SQL Server e una pila di file di configurazione insieme a centinaia e centinaia di file di patch. L'installazione dell'intero lotto e l'aggiornamento è stato necessario in circa 2-3 giorni. Preservare ciò per i posteri significava controllare TUTTA la VM nel controllo della versione. Visto che il disco virtuale era composto da circa 6 x 2 GB di immagini, in realtà è andato abbastanza bene. Sembra esagerato, ma ha reso la vita molto facile per la persona che è venuta dopo di me e ha dovuto usarla - 5 anni dopo.
Riepilogo: il controllo versione è uno strumento. Usalo per essere efficace, non rimanere impiccato per cose come il significato delle parole e non chiamarlo "controllo del codice sorgente" perché è più grande di così.