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.
61 lines
1.2 KiB
61 lines
1.2 KiB
#!/bin/sh |
|
|
|
: ${J=-j2} |
|
force= |
|
while case "$1" in |
|
-pedantic) M=$1 ;; |
|
-force) force=$1 ;; |
|
*) break ;; |
|
esac |
|
do |
|
shift |
|
done |
|
|
|
test -z "$(git diff --cached --name-status)" || { |
|
echo >&2 "Repository unclean." |
|
exit 1 |
|
} |
|
Meta/Make clean >/dev/null 2>&1 |
|
|
|
: ${branches='next master maint pu'} |
|
|
|
for branch in $branches |
|
do |
|
echo >&3 "** $branch **" |
|
|
|
revision=$(git show-ref -s --verify "refs/heads/$branch") || { |
|
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 |
|
|
|
|
|
|