Я делаю свои сообщения о фиксации в Git с определенным шаблоном, чтобы упростить создание журнала изменений для новых выпусков (https://stackoverflow.com/a/5151123/520162).
Каждое изменение, которое должно быть внесено в мой журнал изменений, имеет префикс CHG
, NEW
или FIX
.
Когда дело доходит до создания моего журнала изменений, я распечатываю ревизии, которые собираюсь анализировать, используя следующую команду для каждой ревизии:
git show --quiet --date=short --pretty=format:"%cd %an %s%n%n%w(100,21,21)%b%n" $CURRENTREVISION
Субъект (%s
) содержит предмет модификации.
Затем я использую SED для изменения сгенерированных выходных данных, чтобы они соответствовали потребностям моего файла журнала изменений.
Теперь случается, что в строке темы есть несколько вхождений CHG
, NEW
или FIX
. Мой вывод темы выглядит так:
DATE NAME FIX first change NEW second change CHG third change
Я хотел бы добавить префикс новой строки ко всем ключевым словам, кроме первого, чтобы каждый CHG
, NEW
или FIX
начинал новую строку:
DATE NAME FIX first change
NEW second change
CHG third change
Что я должен сказать SED, чтобы добиться этого?