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
|
|
|
|
|
|
|
|
for range in $(
|
|
|
|
prev_branch=
|
|
|
|
{
|
|
|
|
git for-each-ref --format='%(refname)' refs/heads/maint-* |
|
|
|
|
sed -e 's|^refs/heads/||'
|
|
|
|
cat <<-EOF
|
|
|
|
maint
|
|
|
|
master
|
|
|
|
next
|
|
|
|
EOF
|
|
|
|
} |
|
|
|
|
while read branch
|
|
|
|
do
|
|
|
|
if test -n "$prev_branch"
|
|
|
|
then
|
|
|
|
echo "$branch..$prev_branch"
|
|
|
|
fi
|
|
|
|
prev_branch=$branch
|
|
|
|
done
|
|
|
|
) pu..jch
|
|
|
|
do
|
|
|
|
lg=$(git log --oneline "$range")
|
|
|
|
if test -n "$lg"
|
|
|
|
then
|
|
|
|
echo "*** $range ***"
|
|
|
|
echo "$lg"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
if next_tree=$(git rev-parse next^{tree}) &&
|
|
|
|
next_equiv=$(git rev-list jch..pu |
|
|
|
|
xargs -n1 sh -c '
|
|
|
|
echo $(git rev-parse $1^{tree}) $1
|
|
|
|
' - | sed -n -e "s/^$next_tree //p"
|
|
|
|
) &&
|
|
|
|
test -n "$next_equiv"
|
|
|
|
then
|
|
|
|
jch=$(git rev-list --first-parent master..jch | wc -l) &&
|
|
|
|
pu=$(git rev-list --first-parent master..pu | wc -l) &&
|
|
|
|
next=$(git rev-list --first-parent master..$next_equiv | wc -l) &&
|
|
|
|
echo $jch..$next..$pu
|
|
|
|
else
|
|
|
|
git diff --stat next jch
|
|
|
|
fi
|