4 : ${BUILDBASE=../buildfarm}
5 : ${branches='next master maint pu jch'}
7 force
= with_dash
= M
= install=
12 -noinstall) install=noinstall
;;
18 test -f /bin
/dash || with_dash
=
20 for branch
in $branches
23 revision
=$
(git show-ref
-s --verify "refs/heads/$branch") ||
{
27 test -d "$BUILDBASE/$branch" ||
{
28 echo "** No $BUILDBASE/$branch"
32 private
=$
(git rev-parse
-q --verify private-
$branch 2>/dev
/null
)
33 case $?
in 0|
1) ;; *) exit $?
;; esac
35 if installed
=$
($HOME/git-
$branch/bin
/git version
) &&
36 if version
=$
(expr "$installed" : '.*\.g\([0-9a-f]*\)$')
39 elif version
=v$
(expr "$installed" : \
40 'git version \(.*\)\.rc[0-9]*$')
42 version
="$version"-$
(expr "$installed" : \
43 'git version .*\.\(rc[0-9]*\)$')
45 version
=v$
(expr "$installed" : 'git version \(.*\)')
47 version
=$
(git rev-parse
--verify "$version^0" 2>/dev
/null
) &&
48 test "z$version" = "z$revision"
50 echo "* up-to-date version \"$installed\" is already installed from $branch"
51 test -n "$force" ||
continue
55 case "$branch, $branches " in
57 if git
diff --quiet --exit-code jch next
68 cd "$BUILDBASE/$branch"
69 git checkout
"$branch" &&
70 git
reset --hard ||
exit
75 git merge
--squash --no-commit "$private" ||
{
76 echo >&2 "Cannot apply private edition changes"
85 master | maint | next | jch
)
86 Meta
/Make
$M -- $J SHELL_PATH
=/bin
/dash
$dotest
92 Meta
/Make
$M -- $J all
&&
93 Meta
/Make
$M -- $J $dotest &&
95 master | maint | next
)
99 Meta
/Make
$M -- doc install-doc
105 test z
$install = znoinstall ||
106 Meta
/Make
$M -- install