В реале, там еще до фига добавится.
Например - это сами тулзы - компиляторы, программаторы, терминалки, КАДы и т.п. И тут нужен контроль версий самих тулзов и библиотек. Очень часто достаешь проект пятилетней давности и... оказывается, что пиндык.
Тулзы бывают общие для многих проектов, а бывают специальные - привязанные к проекту (ну, к примеру, утилитка для калибровки какого-нибудь компаса, рулилка конкретным манипулятором...)
Ну и огромное множество мелочей - начиная тупо со ссылок на форум
и фоток, или ПДФ-ок и кончая, например, перепиской с заказчиком.
Отдельно выделятся документы (входные и выходные).
Ну, млин, довольно глупо же копировать пдфку про мегу88 в каждый проект. А с другой стороны, какая-нибудь экзотика вполне вероятно будет использоваться только в одном конкретном проекте.
И еще, если рассматривать долгоиграющие проекты, то нужно иметь не просто откат к ранней версии, а именно, доступ к разным версиям, чтобы и старые версии было можно поддерживать. Речь же идет о железках - вы не можете сказать клиенту: "ваша версия устарела, скачай новую". Вам ПРИДЕТСЯ поддерживать ВСЕ (ну условно) старые версии одновременно! Ветвление практически неизбежно.
Добавлено спустя 2 минуты 20 секунд:В общем, я не вижу красивых простых решений... к сожалению