workflow притчи merge SCM dvcs
Устроился как-то Молодой Программист работать в команде вместе со Старым Программистом. Сидит, в проект вникает, код изучает, доки почитывает, в схеме разбирается. Всё спокойно, Старый Программист клепает код, закрывает тикеты, коммиттит ревизии. Но иногда приходит чёрт с молотком и забивает Старому Программисту в жопу гвоздик. Аккуратный такой, обойный гвоздик. И так почти каждый день.
Старый Программист всё это мужественно переносит, иногда только шипит сквозь зубы. А Молодой удивляется. Наконец не выдержал, спросил, в чём, мол, дело.
— Да это заказчик любит иногда сам код писать, — объясняет Старый. — А нашей системой контроля версий не пользуется. Приходится постоянно забирать от него весь проект проверять, что он там поменял.
— А чёрт зачем приходит?
— О, это Мерж. Да ты его не бойся, он не страшный. Мы привыкли уже.
Долго ли коротко ли, дают Молодому Программисту задачу. Вот он вытянул себе последнюю версию исходников, сидит себе работает, доки гуглит, на форумах расспрашивает, фичи реализует, либы прикручивает. Да не смотрит на чужие изменения, не обновляет исходники. А там чудеса происходят, звери дикие гуляют, птицы дивные по веткам прыгают, таблицы рождяются и исчезают, как будто и не бывали.
Рубился Молодой Программист тридцать дней и три ночи, но доделал наконец фичу. Тесты готовы, xUnit зелёненьким моргает, запросы летают аж со свистом. Решил закоммиттить — а не выходит. «Исходники надо подтянуть», — думает.
Только на кнопку pull надавил — дым, грохот, откуда ни возмись Чёрт появляется. С молотком огромным и ведром гвоздей-стопятидесяток:
— НУ ЧТО, ЧУВАК, МЕРЖИТЬ БУДЕМ?