11b362b15af34006e6a11974088a46d42b903418eJohann#!/bin/bash 21b362b15af34006e6a11974088a46d42b903418eJohann## 31b362b15af34006e6a11974088a46d42b903418eJohann## List the release each author first contributed to. 41b362b15af34006e6a11974088a46d42b903418eJohann## 51b362b15af34006e6a11974088a46d42b903418eJohann## Usage: author_first_release.sh [TAGS] 61b362b15af34006e6a11974088a46d42b903418eJohann## 71b362b15af34006e6a11974088a46d42b903418eJohann## If the TAGS arguments are unspecified, all tags reported by `git tag` 81b362b15af34006e6a11974088a46d42b903418eJohann## will be considered. 91b362b15af34006e6a11974088a46d42b903418eJohann## 101b362b15af34006e6a11974088a46d42b903418eJohanntags=${@:-$(git tag)} 111b362b15af34006e6a11974088a46d42b903418eJohannfor tag in $tags; do 121b362b15af34006e6a11974088a46d42b903418eJohann git shortlog -n -e -s $tag | 131b362b15af34006e6a11974088a46d42b903418eJohann cut -f2- | 141b362b15af34006e6a11974088a46d42b903418eJohann awk "{print \"${tag#v}\t\"\$0}" 151b362b15af34006e6a11974088a46d42b903418eJohanndone | sort -k2 | uniq -f2 16