diff --git a/scripts/pick-pr b/scripts/pick-pr new file mode 100755 index 000000000..098f90701 --- /dev/null +++ b/scripts/pick-pr @@ -0,0 +1,25 @@ +#!/bin/sh + +# Usage: pick-pr +# +# Takes a PR and cherry-picks it into the current branch. +# Assumes you have an "upstream" remote pointing to GitHub. + +set -e + +PR=$1 +echo "Fetching PR $1 from GitHub" + +git fetch git@github.com:angular/angular.dart.git master +MASTER_SHA=$(git rev-list -n 1 FETCH_HEAD) +git fetch git@github.com:angular/angular.dart.git pull/$PR/head +echo + +for sha in $(git rev-list --reverse FETCH_HEAD ^$MASTER_SHA); do + echo "Cherrypicking $(git log --oneline -n 1 $sha)" + git cherry-pick $sha; +done + +export PR +export GIT_EDITOR=$(dirname $0)/pick-pr-editor +git commit --amend diff --git a/scripts/pick-pr-editor b/scripts/pick-pr-editor new file mode 100755 index 000000000..a107013c0 --- /dev/null +++ b/scripts/pick-pr-editor @@ -0,0 +1,4 @@ +#!/bin/sh + +FILE=$1 +echo "Closes #$PR" >>$FILE