chmod +x "$TRASH_HOOKS/$2"
}
+install_post_checkout_hook () {
+ mkdir -p ".git/hooks"
+ hook=".git/hooks/post-checkout"
+
+ echo "#!/bin/sh" >$hook
+ for ((i=1;i<=$#;i+=1)); do
+ eval script_name="$"$i
+ echo "../../client/$script_name \$1 \$2 \$3 &&" >>$hook
+ done
+ echo "echo >/dev/null" >>$hook
+
+ chmod +x $hook
+}
+
install_server_hook () {
- mkdir -p "server/.git/hooks"
- cp "../../server/$1" "server/.git/hooks/$2"
- chmod +x "server/.git/hooks/$2"
+ mkdir -p "server/.git/hooks"
+ cp "../../server/$1" "server/.git/hooks/$2"
+ chmod +x "server/.git/hooks/$2"
+}
+
+install_update_hook () {
+ mkdir -p "server/.git/hooks"
+ hook="server/.git/hooks/update"
+
+ echo "#!/bin/sh" >$hook
+ for ((i=1;i<=$#;i+=1)); do
+ eval script_name="$"$i
+ echo "../../../../server/$script_name \$1 \$2 \$3 &&" >>$hook
+ done
+ echo "echo >/dev/null" >>$hook
+
+ chmod +x $hook
+}
+
+install_post_receive_hook () {
+ mkdir -p "server/.git/hooks"
+ hook="server/.git/hooks/post-receive"
+
+ cat >$hook <<-'EOF'
+ #!/bin/sh
+ nl=$'\n'
+ input=""
+ while read newref oldref refname ; do
+ input="$input$newref $oldref $refname$nl"
+ done
+ EOF
+
+ for ((i=1;i<=$#;i+=1)); do
+ eval script_name="$"$i
+ echo "echo -n \"\$input\" | ../../../../server/$script_name" >>$hook
+ done
+
+ chmod +x $hook
}