Как получить историю версий Git, встроенную в исходный код?

В SO есть несколько вопросов, связанных с тем, как заставить Git автоматически добавлять детали изменения файла (например, автор, дата, номер версии, краткое описание изменения и т. Д.), Используя ключевые слова / теги / хэши того же типа, что и в RCS/CVS. и большинство других систем. Не было четких ответов, как это сделать - в основном были предупреждения не делать этого.

Я понимаю, что такую ​​же информацию можно получить, используя собственные методы истории Git, но в этой реальной жизни, когда программисты привыкли к старым методам, это просто облегчает жизнь, когда история версий файла внедряется в заголовок файла.

Вопрос: как информация об изменениях может быть автоматически вставлена ​​в заголовок файла на этапе фиксации?

1 ответ

Я до сих пор не понимаю, почему (с точки зрения управления требованиями) эта функция не была указана в Git.

Потому что вы должны получать эту информацию от самого Git, а не от содержимого файла (управляется Git)

При этом я видел альтернативные подходы, например, при генерации файла будут все метаданные Git, которые вам нужны (выполненные после всех коммитов), и упакованные в результат, что означает:

  • не исходники (управляемые Git)
  • но конечный результат произведен компиляцией источника.

Таким образом, ваша окончательная программа все еще может получить доступ к этим метаданным во время выполнения.

Другие вопросы по тегам