使用bash awk从git log发布说明

时间:2016-10-06 07:01:07

标签: git bash awk

我们遵循提交消息策略,允许我们解析git log以获取发行说明。

[类别US123]更改内容的描述

例如:

  • [feature US123]在每个页面的meta:version标签中添加了版本号。更好的支持。
  • [dev US123]在制作前删除开发条目
  • [设置US123] UAT的新STS网络服务网址

下面的bash脚本解析日志,但每个用户故事/缺陷后都有一个尾随数字。

这是awk的副作用吗?需要更改什么才能删除尾随数字?

git log -100 --pretty="%s" | grep -io "\(DE\|US\)[0-9]\{3,\}" | sort | uniq | awk '{print $1; print system("git log --pretty=\"%cI %an %s\" | grep -i -v \"Merge\" | grep -i "$1)}'

enter image description here

1 个答案:

答案 0 :(得分:2)

您必须使用print system(...)替换system(...)

git log -100 --pretty="%s" | grep -io "\(DE\|US\)[0-9]\{3,\}" | sort | uniq | awk '{print $1; system("git log --pretty=\"%cI %an %s\" | grep -i -v \"Merge\" | grep -i "$1)}'

system()函数会自动打印到stdout,当您调用print system(...)时,实际打印system()返回的退出代码。