Cloning design overhaul - daemon instead of cronjobs
[girocco.git] / mirroring / clone.sh
blob580b78b4d99831b769344825211d87d2c0479af8
1 #!/bin/bash
3 # Invoked from mirroring/cloned.pl
5 . @basedir@/shlib.sh
7 set -e
9 projdir="$1"
10 proj="${projdir%.git}"
12 cd "$cfg_reporoot/$projdir"
13 trap "echo '@OVER@'; touch .clone_failed" EXIT
14 url="$(cat base_url)"
15 mail="$(cat owner)"
17 # Configure
18 echo "Configuring repository..."
19 git config --bool --add mirror.allowed true
20 git remote add origin "$url" # superfluous?
22 # Initial mirror
23 echo "Initiating mirroring..."
24 git mirror "$url"
26 # The rest
27 echo "Final touches..."
28 git update-server-info
29 trap "" EXIT
30 mail -s "[$cfg_name] $proj clone completed" "$mail,$cfg_admin" <<EOT
31 Congratulations! The clone of project $proj just completed.
33 * Source URL: $url
34 * GitWeb interface: $cfg_gitweburl/$projdir
35 * Project settings: $cfg_webadmurl/editproj.cgi?name=$proj
37 Have a lot of fun.
38 EOT
40 echo "Mirroring finished successfuly!"
41 echo "@OVER@"