]>
Commit | Line | Data |
---|---|---|
ba2e5f1f MF |
1 | #!/bin/bash |
2 | # Helper to rewrite all local branches. | |
3 | ||
4 | rb_one() { | |
5 | local b=$1 | |
6 | ||
fc774894 MF |
7 | printf "### ${b}" |
8 | if ! git config --local "branch.${b}.merge" >/dev/null; then | |
9 | echo " -> skipping due to missing merge branch" | |
10 | else | |
11 | echo | |
12 | git checkout -q "${b}" || exit | |
13 | if ! git rebase ; then | |
14 | git rebase --abort | |
15 | fi | |
ba2e5f1f MF |
16 | fi |
17 | } | |
18 | ||
19 | usage() { | |
20 | cat <<EOF | |
21 | Usage: rb-all | |
22 | EOF | |
23 | exit 1 | |
24 | } | |
25 | ||
26 | main() { | |
27 | if [[ $# -ne 0 ]] ; then | |
28 | usage | |
29 | fi | |
30 | ||
31 | local orig b branches | |
32 | orig=$(git rev-parse --abbrev-ref HEAD) || return | |
33 | ||
34 | branches=( $(git ls-remote . 'heads/*' | sed 's:.*refs/heads/::') ) | |
35 | for b in "${branches[@]}" ; do | |
36 | rb_one "${b}" | |
37 | done | |
38 | ||
39 | git checkout -q "${orig}" | |
40 | } | |
41 | main "$@" |