Идея VERSION CONTROL (неправильно: контроль исходного кода) состоит в том, чтобы позволить вам откатиться назад по истории, восстановить эффект изменений, увидеть изменения и почему они были сделаны. Это ряд требований, некоторые из которых нуждаются в двоичных вещах, а некоторые - нет.
Пример: для работы со встроенными прошивками у вас обычно будет полный набор инструментов: либо собственный компилятор, который стоит больших денег, либо какая-то версия gcc. Для того, чтобы получить исполняемый файл доставки, вам нужен как набор инструментов, так и исходный код.
Проверка цепочек инструментов в контроле версий - это боль, утилиты diff ужасны (если вообще), но альтернативы нет. Если вы хотите, чтобы цепочка инструментов была сохранена для парня, который через 5 лет будет смотреть на ваш код, чтобы выяснить, что он делает, то у вас нет выбора: вы ДОЛЖНЫ также иметь цепочку инструментов под контролем версий.
За эти годы я обнаружил, что самый простой способ сделать это - создать ZIP-образ или ISO-образ установочного компакт-диска и зарегистрировать его. В комментарии для регистрации должен быть указан номер версии конкретного производителя для набора инструментов. Если gcc или аналогичный, то соберите все, что вы используете, в большой ZIP и сделайте то же самое.
Самый крайний случай, который я сделал, - это Windows XP Embedded, где «набор инструментов» - это работающая виртуальная машина Windows XP, которая включала (тогда) SQL Server и стек файлов конфигурации, а также сотни и сотни файлов исправлений. Установка всего лота и его обновление занимали около 2-3 дней. Сохранение этого для потомков означало проверку ВСЕХ ВМ в системе контроля версий. Поскольку виртуальный диск был составлен из образов размером 6 x 2 ГБ, он на самом деле работал достаточно хорошо. Звучит слишком хорошо, но это очень облегчило жизнь человеку, который пришел за мной и вынужден был им пользоваться - 5 лет спустя.
Резюме: Контроль версий - это инструмент. Используйте его, чтобы быть эффективным, не зацикливайтесь на таких вещах, как значение слов, и не называйте это «контролем над источником», потому что это больше, чем это.