Лог

Я был длинным и скучным, я был логом, в истории простирался я. По одну сторону был первый коммит, с другой я каждый день прирастал новыми сообщениями и диффами. Заброшенные ветки колыхались на цифровом ветру. В семантических глубинах был сокрыт от моего восприятия программный код. Ни один программист не читал меня от начала и до конца, лишь изредка кто-нибудь грепал номера багов. Так лежал я и ждал, ждал когда кто-нибудь захочет меня прочесть. Я должен был ждать. Не будучи удалённым, ни один начатый лог не может быть уничтожен.

Однажды вечером — был ли он тёплым, был ли он дождливым, я не знаю, — мои мысли забиты датами, сообщениями и оптимизацией диффов, а мои скучные составители не пишут погоду в сообщениях коммитов. Однажды вечером по UTC, когда последний программист допил последнюю чашку кофе и закончил последний коммит, когда сборочные фермы перестали шуршать вентиляторами, вдруг услышал я человеческий шаг. Ко мне, ко мне сквозь замысловатые дебри директорий пробирался некто.

Вытянись лог, закешируй погребённые в дебрях истории заброшенные коммиты, предоставь поверившему в тебя исчерпывающую информацию. Ненадёжность сообщений, написанных простыми смертными, компенсируй непогрешимостью диффов, дай ему познать всю бесконечную сложность своей работы, но всё же покажи ему то, что он ищет.

Он пришёл, посмотрел последние сообщения коммитов, в одном из них поправил опечатку. Затем он стал просматривать ветки — это заняло какое-то время. Затем — замешкавшись, я так и не успел привести кеш в порядок, — он залез в глубины истории. Ах, эта сладостная боль когда наконец кто-то начинает потрошить твои загнивающие внутренности! Я дрожу от возбуждения и любопытства: кто же нарушитель моего спокойствия? Ребёнок? Мираж? Крэкер? Самоубийца? Белошляпочник? Просто маньяк?

Нет, мне не узнать кто отдаёт команды. Не стоит даже и пытаться. Вместо того, чтобы взбунтоваться и выдать сегментэйшн фолт в попытке познать непознаваемое, я послушно отдаю данные, которые бережно храню. Но ему мало моих сообщений и диффов. Сделав драматическую паузу, он безо всяких угрызений вызывает рибэйз и фильтр-бранч. История, которую мне доверили мои пользователи, растворяется на секторах жёстких дисков, превращается в карикатурное ничто. Но что я могу здесь поделать? Я был, был и остаюсь лишь логом системы контроля версий.