Ian Romanick | 2d95db6 | 2012-10-19 22:30:53 +0200 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
Andreas Boll | fa27a0d | 2012-10-19 22:54:56 +0200 | [diff] [blame] | 3 | # Script for generating a list of candidates for cherry-picking to a stable branch |
Andreas Boll | b8e41db | 2013-04-18 09:32:39 +0200 | [diff] [blame^] | 4 | # |
| 5 | # Usage examples: |
| 6 | # |
| 7 | # $ bin/get-pick-list.sh |
| 8 | # $ bin/get-pick-list.sh > picklist |
| 9 | # $ bin/get-pick-list.sh | tee picklist |
Andreas Boll | fa27a0d | 2012-10-19 22:54:56 +0200 | [diff] [blame] | 10 | |
Andreas Boll | 135ec3a | 2012-10-19 23:13:12 +0200 | [diff] [blame] | 11 | # Grep for commits with "cherry picked from commit" in the commit message. |
| 12 | git log --reverse --grep="cherry picked from commit" origin/master..HEAD |\ |
| 13 | grep "cherry picked from commit" |\ |
| 14 | sed -e 's/^[[:space:]]*(cherry picked from commit[[:space:]]*//' -e 's/)//' > already_picked |
| 15 | |
Andreas Boll | b299152 | 2012-10-19 23:00:17 +0200 | [diff] [blame] | 16 | # Grep for commits that were marked as a candidate for the stable tree. |
Ian Romanick | 674f923 | 2013-03-05 14:51:26 -0800 | [diff] [blame] | 17 | git log --reverse --pretty=%H -i --grep='^[[:space:]]*NOTE: .*[Cc]andidate' HEAD..origin/master |\ |
Ian Romanick | 2d95db6 | 2012-10-19 22:30:53 +0200 | [diff] [blame] | 18 | while read sha |
| 19 | do |
Andreas Boll | 3e3ff4c | 2012-10-20 21:50:30 +0200 | [diff] [blame] | 20 | # Check to see whether the patch is on the ignore list. |
Andreas Boll | ca89886 | 2012-10-22 21:18:17 +0200 | [diff] [blame] | 21 | if [ -f bin/.cherry-ignore ] ; then |
| 22 | if grep -q ^$sha bin/.cherry-ignore ; then |
Andreas Boll | 3e3ff4c | 2012-10-20 21:50:30 +0200 | [diff] [blame] | 23 | continue |
| 24 | fi |
Ian Romanick | 2d95db6 | 2012-10-19 22:30:53 +0200 | [diff] [blame] | 25 | fi |
| 26 | |
| 27 | # Check to see if it has already been picked over. |
Andreas Boll | 135ec3a | 2012-10-19 23:13:12 +0200 | [diff] [blame] | 28 | if grep -q ^$sha already_picked ; then |
| 29 | continue |
Ian Romanick | 2d95db6 | 2012-10-19 22:30:53 +0200 | [diff] [blame] | 30 | fi |
| 31 | |
| 32 | git log -n1 --pretty=oneline $sha | cat |
Ian Romanick | 2d95db6 | 2012-10-19 22:30:53 +0200 | [diff] [blame] | 33 | done |
Andreas Boll | 135ec3a | 2012-10-19 23:13:12 +0200 | [diff] [blame] | 34 | |
| 35 | rm -f already_picked |