Детальная запись ChangeLog обычно сообщает, кто, когда и какая функция изменилась, и почему это изменение сделано.Зачем использовать традиционный подробный ChangeLog в современном мире (с SVN, Mercurial, Git)?
И это для каждой отдельной функции в дереве исходного кода!
Как я понимаю, ChangeLog приходит из прошлого, когда не было хорошего VCS.
Так традиционный ChangeLog не нужен вообще, как вы можете получить все это от:
$ svn log . $ hg log . $ git log . $ bzr log .
только один из возможных потребностей в ChangeLog для краткого изложения между версиями продукта и предназначены для пользователей только (например, когда пришла новая версия, разработчик подготовил ChangeLog, описывая заметные/видимые изменения).
Или я ошибаюсь?
С http://autotoolset.sourceforge.net/tutorial.html#SEC45:
The ChangeLog file: Use this file to record all the changes that you make to your source code. If your source code is distributed among many subdirectories, and there is reason enough to think of the contents of the subdirectories as different subpackages,then please maintain a separate `ChangeLog' file for each subdirectory.
Посмотрите архаичным и догматическим. ChangeLog, требуемый с помощью autotools и «стандартами кодирования GNU».
источникGNU Emacs содержит много огромных списков изменений (много раскола по многим частям):
$ find emacs-22.3 -name "ChangeLog*" | xargs cat | wc -c 13605747
я могу получить сводную из Emacs Bzr репо около 1 мин и поиск через него, а не искать каждый отдельный ChangeLog и с современными инструментами, такими как Emacs VC
или Tortoise SVN/HG
немедленно получите diff для изменения.
ОБНОВЛЕНИЕ Обоснование использования ChengeLog происходит из-за немощи системы управления сервоуправления RCS/CVS. Проверьте http://www.red-bean.com/cvs2cl/changelogs.html раздел «ChangeLogs и журнал CVS». Все современные VCS предоставляют/позволяют критиковать эту статью в CVS.
Также существует множество ссылок, которые преобразуют вашу историю VCS в стиль ChangeLog. Итак отклонить все ваши ChangeLog.
Если вы хотите обеспечить ориентированные пользователями информации функций/обратно совместимость/и т.д. между версиями используйте НОВОСТИ файл: http://www.gnu.org/prep/standards/html_node/NEWS-File.html
Можете ли вы заявить, что более легко отслеживать изменения в проекте из чаге, а не VCS? – gavenkoa
Ну, вы только позже добавили, что имеете в виду журнал изменений в стиле GNU. Я согласен, что такой журнал изменений совершенно бесполезен. Я имел в виду, что мой пост - это журнал изменений, который обычно используется в примечаниях к выпуску. По моему опыту, большинство проектов с открытым исходным кодом поддерживают этот тип изменений в файле ChangeLog/NEWS/CHANGES. –
Спасибо за ответ. Это я подумал, но мне нужно другое мнение. – gavenkoa