Может ли git сохранить журнал в формате?
Я использую эту команду в python script для создания xml файла, который позже обрабатывается нашей CI-системой:
git log -1 --date=iso --pretty=format:"<logentry revision=\"%h\" scm=\"git\">%n<author>%an</author>%n<date>%ad</date>%n<msg>%s</msg>%n"
Он выводит результат в следующем формате
<logentry revision="1e370f5" scm="git">
<author>Johan Govers</author>
<date>2016-02-24 13:11:15 +0100</date>
<msg>PP-204 Try out git PP-207 New build script * Add missing kind="file" to path nodes in changes xml file.</msg>
Использование git log -1
показывает сообщение с линиями, но с симпатичным форматом они опущены. Есть ли способ произвести вывод следующим образом?
<logentry revision="1e370f5" scm="git">
<author>Johan Govers</author>
<date>2016-02-24 13:11:15 +0100</date>
<msg>PP-204 Try out git
PP-207 New build script
* Add missing kind="file" to path nodes in changes xml file.</msg>
Ответы
Ответ 1
Документация для git log
сообщает нам, что %s
предназначен для объекта, который построен из зафиксировать заголовок сообщения (выделено мной):
Хотя это и не требуется, рекомендуется начинать сообщение фиксации с одной короткой (менее 50 символов) строкой, суммирующей изменение, за которой следует пустая строка, а затем более подробное описание. Текст до первой пустой строки в сообщении фиксации рассматривается как заголовок фиксации, и этот заголовок используется во всем Git. Например, git -format-patch [1] превращает фиксацию в электронную почту и использует заголовок в строке темы, а остальные совершения в теле.
Если вы хотите использовать все сообщение фиксации, попробуйте %B
вместо этого:
% B: необработанное тело (развернутый объект и тело)