7 [ "$cfg_mob" = "mob" ] ||
{ echo "mob support not enabled" >&2; exit 1; }
10 [ -d "$cfg_reporoot/$proj.git" ] ||
{ echo "Invalid project name: $1" >&2; exit 1; }
12 [ -f "$cfg_reporoot/$proj.git/.nofetch" ] ||
{ echo "Mirrors may not use mob: $1" >&2; exit 1; }
14 projdir
="$cfg_reporoot/$proj.git"
15 if [ ! -f "$projdir/HEAD" -o ! -f "$projdir/config" -o ! -f "$projdir/description" ] ||
16 [ ! -f "$projdir/hooks/update" -o ! -x "$projdir/hooks/update" ] ||
17 [ ! -f "$projdir/hooks/post-update" -o ! -x "$projdir/hooks/post-update" ] ||
18 [ ! -d "$projdir/objects" -o ! -d "$projdir/info" -o -L "$projdir/HEAD" ]; then
19 echo "Incorrectly set up project: $1" >&2
25 mkdir
-p "$projdir/refs/mob" "$projdir/mob/refs" "$projdir/mob/hooks"
26 chmod 02775 "$projdir/refs" "$projdir/refs/mob" \
27 "$projdir/mob" "$projdir/mob/refs" "$projdir/mob/hooks" ||
28 echo "Warning: could not chmod 02775 on all dirs"
30 [ -x "$projdir/mob/hooks/update" ] ||
ln -sfn ..
/..
/hooks
/update
"$projdir/mob/hooks/update"
31 if ! [ -x "$projdir/mob/hooks/post-update" ]; then
32 puh
="$projdir/mob/hooks/post-update"
33 echo '#!/bin/sh' > "$puh.$$"
34 echo 'cd .. && GIT_DIR=. exec hooks/post-update' >> "$puh.$$"
36 mv -f "$puh.$$" "$puh"
39 [ -d "$projdir/mob/refs/heads" ] ||
ln -sfn ..
/..
/refs
/mob
"$projdir/mob/refs/heads"
40 [ -d "$projdir/mob/refs/mob" ] ||
ln -sfn ..
/..
/refs
/mob
"$projdir/mob/refs/mob"
42 [ -L "$projdir/mob/packed-refs" ] ||
ln -sfn ..
/packed-refs.mob
"$projdir/mob/packed-refs"
43 [ -d "$projdir/mob/objects" ] ||
ln -sfn ..
/objects
"$projdir/mob/objects"
44 [ -d "$projdir/mob/info" ] ||
ln -sfn ..
/info
"$projdir/mob/info"
45 [ -f "$projdir/mob/description" ] ||
ln -sfn ..
/description
"$projdir/mob/description"
46 [ -f "$projdir/mob/config" ] ||
ln -sfn ..
/config
"$projdir/mob/config"
48 cp -p -f "$projdir/HEAD" "$projdir/mob/HEAD.$$"
49 mv -f "$projdir/mob/HEAD.$$" "$projdir/mob/HEAD"
50 rm -f "$projdir/mob/HEAD.$$"