14 test -z "$(git diff --cached --name-status)" || {
15 echo >&2 "Repository unclean."
18 Meta/Make clean >/dev/null 2>&1
20 : ${branches='next master maint pu'}
22 for branch in $branches
24 echo >&3 "** $branch **"
26 revision=$(git show-ref -s --verify "refs/heads/$branch") || {
31 if installed=$($HOME/git-$branch/bin/git version) &&
33 version=$(expr "$installed" : '.*\.g\([0-9a-f]*\)$') ||
34 version=v$(expr "$installed" : 'git version \(.*\)')
36 version=$(git rev-parse --verify "$version^0" 2>/dev/null) &&
37 test "z$version" = "z$revision"
39 echo "* up-to-date version \"$installed\" is already installed from $branch"
40 test -n "$force" || continue
44 git checkout $branch &&
45 Meta/Make $M -- $J all &&
46 Meta/Make $M -- test &&
47 Meta/Make $M -- install &&
48 Meta/Make clean || exit $?
50 done >./:all.log 3>&2 2>&1