summary refs log tree commit diff stats
path: root/doc/pick.sh
blob: e5f18da4037efd17e9c056ea870a6b09c05df2da (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
pre { line-height: 125%; }
td.linenos .normal { color: inher
#!/bin/bash

# I work on a branch (named hut) which contains commits
# that should not be part of the standard distribution.
#
# This script picks all the good commits from hut and
# adds them to the master branch.
# Bad commits are marked with a "custom:" at the beginning
# of the commit message.

MASTER_BRANCH='master'
CUSTOM_BRANCH='hut'
ORIGINAL_BRANCH=`git branch 2>/dev/null|grep -e ^* | tr -d \*\ `

git checkout -m $MASTER_BRANCH

while read -r hash tag rest; do
	if [ $tag != 'custom:' ]; then
		git cherry-pick $hash || exit 1
	fi
done < <(git log --oneline --no-color $MASTER_BRANCH..$CUSTOM_BRANCH | tac)

git checkout -m $CUSTOM_BRANCH
git rebase $MASTER_BRANCH
git checkout -m $ORIGINAL_BRANCH
>".">index</a><br><a href="file:/home/hut/work/ranger/all_tests.py">/home/hut/work/ranger/all_tests.py</a></font></td></tr></table> <p><tt>Run&nbsp;all&nbsp;the&nbsp;tests&nbsp;inside&nbsp;the&nbsp;test/&nbsp;directory&nbsp;as&nbsp;a&nbsp;test&nbsp;suite.</tt></p> </body></html>