Ідея ВЕРСІЙНОГО КОНТРОЛЮ (неправильне: контроль джерела) полягає в тому, щоб ви могли прокрутити історію, відновити ефект змін, побачити зміни та чому зроблено. Це цілий ряд вимог, деякі з яких потребують двійкових речей, а деякі - ні.
Приклад: для роботи з вбудованою прошивкою, як правило, ви будете мати повний ланцюжок інструментів: або власний компілятор, який коштує чималих грошей, або деяку версію gcc. Для того, щоб отримати виконуваний файл доставки, вам потрібна ланцюжок інструментів, а також джерело.
Перевірка ланцюгів інструментів на контроль версій - це біль, різні утиліти жахливі (якщо взагалі є), але альтернативи немає. Якщо ви хочете, щоб ланцюжок інструментів збереглася для хлопця, який приходить подивитися на ваш код через 5 років, щоб зрозуміти, що він робить, то у вас немає вибору: у вас ОБОВ'ЯЗКОВО мати також ланцюжок інструментів під контролем версій.
Протягом багатьох років я виявив, що найпростіший спосіб зробити це - створити ZIP або ISO зображення інсталяційного компакт-диска та перевірити це. Коментований коментар повинен бути конкретним номером версії інструментальної ланцюга. Якщо gcc або подібне, з’єднайте все, що ви використовуєте, у великий ZIP і зробіть те саме.
Самий крайній випадок, який я робив, - це Windows XP Embedded, де «ланцюжок інструментів» - це запущена програма Windows XP VM, яка включала (тоді ще) SQL Server і стек файлів конфігурації разом із сотнями і сотнями файлів патчів. Встановлення всієї партії та її актуалізація зазвичай займає близько 2-3 днів. Зберегти це для нащадків означало перевірку ЦІЛЬКОГО ВМ в контролі версій. Бачачи, що віртуальний диск складався з приблизно 6 x 2 Гб зображень, він насправді вийшов досить добре. Звучить на вершині, але це полегшило життя людині, яка пішла за мною і повинна була ним користуватися - через 5 років.
Резюме: Контроль версій - це інструмент. Використовуйте це, щоб бути ефективним, не зациклюйтесь на таких речах, як значення слів, і не називайте це "контролем над джерелами", оскільки його більше, ніж це.