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.

62 lines
1.2 KiB

19 years ago
#!/bin/sh
: ${J=-j2}
force=
while case "$1" in
-pedantic) M=$1 ;;
-force) force=$1 ;;
*) break ;;
esac
do
shift
done
19 years ago
test -z "$(git diff --cached --name-status)" || {
echo >&2 "Repository unclean."
exit 1
19 years ago
}
Meta/Make clean >/dev/null 2>&1
: ${branches='next master maint pu'}
19 years ago
for branch in $branches
do
echo >&3 "** $branch **"
revision=$(git show-ref -s --verify "refs/heads/$branch") || {
19 years ago
echo "** No $branch"
continue
}
if installed=$($HOME/git-$branch/bin/git version) &&
if version=$(expr "$installed" : '.*\.g\([0-9a-f]*\)$')
then
:
elif version=v$(expr "$installed" : \
'git version \(.*\)\.rc[0-9]*$')
then
version="$version"-$(expr "$installed" : \
'git version .*\.\(rc[0-9]*\)$')
else
version=v$(expr "$installed" : 'git version \(.*\)')
fi &&
version=$(git rev-parse --verify "$version^0" 2>/dev/null) &&
test "z$version" = "z$revision"
then
echo "* up-to-date version \"$installed\" is already installed from $branch"
test -n "$force" || continue
fi
echo "** $branch" &&
git checkout $branch &&
Meta/Make $M -- $J all &&
Meta/Make $M -- test &&
Meta/Make $M -- install &&
Meta/Make clean || exit $?
done >./:all.log 3>&2 2>&1
git checkout master