| #!/bin/sh | |
| if test $# -eq 0 | |
| then | |
| echo "USAGE: $0 <#PR> [<#PR>...]" | |
| exit | |
| fi | |
| commits= | |
| for pr in $* | |
| do | |
| mergecommit=$(git rev-parse ":/Merge pull request #$pr" || exit 1) | |
| mergebase=$(git merge-base "$mergecommit"^1 "$mergecommit"^2 || exit 1) | |
| commits="$commits $(git rev-list --reverse "$mergecommit"^2 ^"$mergebase")" | |
| done | |
| echo "Cherry-picking the following commits:" | |
| git rev-list --no-walk --oneline $commits | |
| echo | |
| git cherry-pick $commits |