L'idea di VERSION CONTROL (nome errato: controllo del codice sorgente) consente di eseguire il rollback della cronologia, recuperare l'effetto delle modifiche, vedere le modifiche e il motivo della modifica. Questa è una serie di requisiti, alcuni dei quali richiedono elementi binari, alcuni dei quali no.
Esempio: per il funzionamento del firmware incorporato, normalmente avrai una toolchain completa: un compilatore proprietario che costa un sacco di soldi, o qualche versione di gcc. Per ottenere l'eseguibile di spedizione hai bisogno sia della toolchain che della fonte.
Controllare i toolchain nel controllo della versione è un problema, le utilità diff sono orribili (se non del tutto), ma non c'è alternativa. Se vuoi che la toolchain venga conservata per il tizio che viene a guardare il tuo codice tra 5 anni per capire cosa fa, allora non hai scelta: DEVI avere anche la toolchain sotto controllo di versione.
Ho scoperto nel corso degli anni che il metodo più semplice per farlo è quello di creare un'immagine ZIP o ISO del CD di installazione e verificarlo. Il commento di controllo deve essere il numero di versione specifico 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 (da 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 il suo aggiornamento hanno richiesto circa 2-3 giorni. Preservare che per i posteri significava controllare TUTTA la VM nel controllo della versione. Visto che il disco virtuale era costituito 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 della versione è uno strumento. Usalo per essere efficace, non rimanere impigliato per cose come il significato delle parole, e non chiamarlo "controllo del codice sorgente" perché è più grande di quello.