И я хотел снова вернуться к вопросу о контроле версий. Мой начальник, как единственный постоянный программист на момент моего прихода, для контроля версий использовал ручные бэкапы. Когда надо было с кем-то слить правки, это делалось вручную.
Я поставил SVN и заставил начальника ей пользоваться. Системы контроля версий даже для проектов с одним разработчиком -- очень полезны. Если разработчиков уже двое -- то работать без них невозможно.
И вот я пилю свою штуку, а он свою. Он приходит ко мне и говорит, что у него всё сломалось. Но он никаких особенных правок не делал!
Надо выяснить, когда всё сломалось. Есть три ревизии:
590 -- его предыдущие правки
600 -- мои правки.
ХХХ -- его рабочая копия.
Между 590 и 600 были ревизии с незначительными правками, которые, по идее, не должны были ничего сломать.
Я: Надо проверить, какая последняя ревизия рабочая.
Начальник: Давай. Начнём с 590!
Я: А давайте начнём с 600!
Начальник: Неее! Давайте начнём с 590! Вдруг она работает!
Я: Ага, а 600 проверять не будем. Если 590 работает, значит на меня собак повесим!
Проверили 590. Работает.
Я: А теперь давайте всё-таки проверим 600.
Проверили 600. Тоже работает!
То есть, всё ломали его же незначительные правки. В чём была причина, мы пока так и не выяснили.