LINUX.ORG.RU

История изменений

Исправление alpha, (текущая версия) :

ChangeLog — атавизм той эпохи, когда VCS не применялись повсеместно, а патчи пересылались исключительно почтой от одного разработчика другому.

Под словом Changelog можно понимать несколько разных вещей с совершенно разными целями.

Changelog который публикуется в новостях о релизе ориентирован на пользователей а не на разработчиков, поэтому, во-первых, он в большинстве случаев не предполагает, что читатель знаком с используемой в проекте VCS и вообще имеет к ней доступ.

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

Поскольку git log - вещь неизменяемая, то запись в нём о том что баг X пофикшен не значит по сути ничего. Тремя месяцами позже в том же git log может оказаться запись по типу «Мы думали что баг X пофикшен, но ошибались, и теперь наконец пофиксили его окончательно».

Поэтому сырой git log не подходит на роль отчета о проделанной работе за некоторый период. Пользователю нужно понимать результат, а не всю многосерийную историю взаимоотношений разработчиков с багами.

При этом никто не мешает генерировать Changelog из лога коммитов в vcs, отфильтровывая лишнее типа «поправил форматирование», «переделал тестовый фреймворк» или «пофиксил предыдущий фикс», группируя коммиты по bug id и записывая результат в подходящий формат.

Исходная версия alpha, :

ChangeLog — атавизм той эпохи, когда VCS не применялись повсеместно, а патчи пересылались исключительно почтой от одного разработчика другому.

Под словом Changelog можно понимать несколько разных вещей с совершенно разными целями.

Changelog который публикуется в новостях о релизе ориентирован на пользователей а не на разработчиков, поэтому, во-первых, он в большинстве случаев не предполагает, что читатель знаком с используемой в проекте VCS и вообще имеет к ней доступ.

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

Поскольку git log - вещь неизменяемая, то запись в нём о том что баг X пофикшен не значит по сути ничего. Тремя месяцами позже в том же git log может оказаться запись по типу «Мы думали что баг X пофикшен, но ошибались, и теперь наконец пофиксили его окончательно».

Поэтому сырой git log не подходит на роль отчета о проделанной работе за некоторый период. Пользователю нужно понимать результат, а не всю многосерийную историю взаимоотношений разработчиком с багами.

При этом никто не мешает генерировать Changelog из лога коммитов в vcs, отфильтровывая лишнее типа «поправил форматирование», «переделал тестовый фреймворк» или «пофиксил предыдущий фикс», группируя коммиты по bug id и записывая результат в подходящий формат.