]> git.ozlabs.org Git - next-scripts/blob - find_branch
New utiltiy (mainly for akpm)
[next-scripts] / find_branch
1 #!/bin/bash
2
3 commit=$1
4 [ "$commit" ] || {
5         echo "$0: <commit id> [<top tag> [<linus branch>]]" 1>&2
6         exit 1
7 }
8
9 top=$2
10 [ "$top" ] || top=HEAD
11
12 linus=$3
13 [ "$linus" ] || linus=origin/master
14
15 base=$(git merge-base "$linus" "$top")
16
17 git log --first-parent --pretty='format:%H %P' "$base".."$top" |
18 while read m p1 p2
19 do
20         [ "$p2" ] || continue
21         git rev-list $base..$p2 | grep -q "$commit" || continue
22         branch=$(git show $m | sed -n "s/[      ]*Merge .* '\([^']*\)'/\1/p")
23         tree=${branch%%/*}
24         [ "$tree" = "quilt" ] && tree=${branch##*/}
25         echo "$tree"
26         break
27 done
28
29 exit 0