Kaydet (Commit) 710c6640 authored tarafından Jan Holesovsky's avatar Jan Holesovsky

Script that finds commits in a branch that were not pushed to master.

Trivial, but based on the Change-Id's, so hopefully reliable enough :-)

Change-Id: I919a2dc47f088ec4d1111750b74c68a0b062478d
üst 2ec556b0
#! /bin/bash
#
# check that master contains all the patches from a brach
# and list those that are missing
#
BRANCH="$1"
[ -z "$BRANCH" ] && {
cat 1>&2 << EOF
check-merged.sh branchname
Checks that all the patches from branch 'branchname' are in master, and
reports the commits that are not.
The check is based on the Change-Id's, so if some commits are missing it, they
won't be detected as missing.
EOF
exit 1;
}
function collect_change_ids {
git log `git merge-base origin/master origin/feature/opengl-vcl`.."$1" | \
sed 's/^commit /XXXcommitXXX/g' | \
tr '\n' ';' | \
sed 's/XXXcommitXXX/\n/g' | \
sed -e 's/;.*Change-Id://' -e 's/;.*$//' | \
grep -v '^$'> "$2"
}
collect_change_ids "$BRANCH" /tmp/check-merged.branch
collect_change_ids "origin/master" /tmp/check-merged.master
cat /tmp/check-merged.branch | \
while read COMMIT CHID ; do
[ -n "$CHID" -a "$CHID" != " " ] && grep -q "$CHID" /tmp/check-merged.master || echo "$COMMIT not in origin/master"
done
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment