15 test -z "$(git diff --cached --name-status)" ||
{
16 echo >&2 "Repository unclean."
19 Meta
/Make clean
>/dev
/null
2>&1
21 test -f /bin
/dash || with_dash
=
23 : ${branches='next master maint pu jch'}
25 for branch
in $branches
27 echo >&3 "** $branch **"
29 revision
=$
(git show-ref
-s --verify "refs/heads/$branch") ||
{
34 private
=$
(git rev-parse
-q --verify private-
$branch 2>/dev
/null
)
35 case $?
in 0|
1) ;; *) exit $?
;; esac
37 if installed
=$
($HOME/git-
$branch/bin
/git version
) &&
38 if version
=$
(expr "$installed" : '.*\.g\([0-9a-f]*\)$')
41 elif version
=v$
(expr "$installed" : \
42 'git version \(.*\)\.rc[0-9]*$')
44 version
="$version"-$
(expr "$installed" : \
45 'git version .*\.\(rc[0-9]*\)$')
47 version
=v$
(expr "$installed" : 'git version \(.*\)')
49 version
=$
(git rev-parse
--verify "$version^0" 2>/dev
/null
) &&
50 test "z$version" = "z$revision"
52 echo "* up-to-date version \"$installed\" is already installed from $branch"
53 test -n "$force" ||
continue
57 git checkout
$branch &&
63 git merge
--squash --no-commit "$private" ||
{
64 echo >&2 "Cannot apply private edition changes"
70 Meta
/Make
$M -- $J clean
&&
74 master | maint | next | jch
)
75 Meta
/Make
$M -- $J SHELL_PATH
=/bin
/dash
test &&
76 Meta
/Make
$M -- $J clean
82 Meta
/Make
$M -- $J all
&&
83 Meta
/Make
$M -- $J test &&
85 master | maint | next
)
89 Meta
/Make
$M -- doc install-doc
94 Meta
/Make
$M -- install &&
95 Meta
/Make clean ||
exit $?
99 done >.
/:all.log
3>&2 2>&1