You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# Run this script _after_ making a proposed merge into a copy of
|
|
|
|
# the target branch (e.g. "master") to see if it contains unrelated
|
|
|
|
# merging back from the upstream.
|
|
|
|
#
|
|
|
|
F=`git diff-tree -r --name-only HEAD^ HEAD`
|
|
|
|
echo "The topic modifies these paths:"
|
|
|
|
echo "$F" | sed -e 's/^/ /'
|
|
|
|
|
|
|
|
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
|
|
|
|
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
|
|
|
|
git rev-list --parents master..HEAD^2 |
|
|
|
|
sed -ne "/^$_x40 $_x40 $_x40/p" |
|
|
|
|
while read merge first second
|
|
|
|
do
|
|
|
|
echo
|
|
|
|
# First is the previous cvs topic tip, second is what was merged into
|
|
|
|
# it. Does the merge have anything to do with adjust the topic to
|
|
|
|
# updated upstream?
|
|
|
|
git name-rev "$merge"
|
|
|
|
out=`git diff-tree --stat "$merge^" "$merge" -- $F`
|
|
|
|
case "$out" in
|
|
|
|
'')
|
|
|
|
echo "* Nothing to do with the topic" ;;
|
|
|
|
*)
|
|
|
|
echo "$out" ;;
|
|
|
|
esac
|
|
|
|
done
|