We are using some Bash tools to get this list of fixed bugs. I will briefly explain what they are doing in this section:
- The xargs -n1 git log -1 part will execute git log -1 on each commit coming from the first git log command, git log --format=format:%h --regexp-ignore-case --extended-regexp --grep="bug: [0-9]{6}" v2.3.1.201302201838-r..v3.0.0.201305080800-m7.
- The grep --ignore-case -E "commit [0-9a-f]{40}|bug:" part will ignore the case in the regular expression and -E will enable an extended regular expression. You might see that a lot of these options for the tool grep are the same options we have for git log. The regular expression is matching commit and 40 characters with the [0-9a-f] range or bug. The | character ...