Sha256: a619ba4a36c05984975303a46d38ea1a010cd4b02b7f89438cfdd1998fbfb428

Contents?: true

Size: 1.07 KB

Versions: 15

Compression:

Stored size: 1.07 KB

Contents

#!/usr/bin/env sh
# Usage: script/changelog [-r <repo>] [-b <base>] [-h <head>]
#
#  repo: base string of GitHub repository url. e.g. "user_or_org/repository". Defaults to git remote url.
#  base: git ref to compare from. e.g. "v1.3.1". Defaults to latest git tag.
#  head: git ref to compare to. Defaults to "HEAD".
#
# Generate a changelog preview from pull requests merged between `base` and
# `head`.
#
set -e

[ $# -eq 0 ] && set -- --help

# parse args
repo=$(git remote -v | grep push | awk '{print $2}' | cut -d'/' -f4- | sed 's/\.git//')
base=$(git tag -l | sort -n | tail -n 1)
head="HEAD"
api_url="https://api.github.com"

echo "# $repo $base..$head"
echo

# get merged PR's. Better way is to query the API for these, but this is easier
for pr in $(git log --oneline $base..$head | grep "Merge pull request" | awk '{gsub("#",""); print $5}')
do
  # frustrated with trying to pull out the right values, fell back to ruby
  curl -s "$api_url/repos/$repo/pulls/$pr" | ruby -rjson -e 'pr=JSON.parse(STDIN.read); puts "* #{pr[%q(title)]} [##{pr[%q(number)]}](#{pr[%q(html_url)]})"'
done

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
kloudless-1.0.1 script/changelog
github-ldap-1.10.1 script/changelog
kloudless-1.0.0 script/changelog
github-ldap-1.10.0 script/changelog
kloudless-0.2.1 script/changelog
kloudless-0.2.0 script/changelog
github-ldap-1.9.0 script/changelog
github-ldap-1.8.2 script/changelog
kloudless-0.1.0 script/changelog
github-ldap-1.8.1 script/changelog
github-ldap-1.8.0 script/changelog
github-ldap-1.7.1 script/changelog
github-ldap-1.7.0 script/changelog
github-ldap-1.6.0 script/changelog
github-ldap-1.5.0 script/changelog