#!/bin/sh replace_var_by_string() { sed "s//$2/" } fugitive_write_template() { name=`git config --get user.name` base64 -d | gunzip | replace_var_by_string name "$name" | \ replace_var_by_string year "`date +%Y`" } fugitive_install() { DIR="." if [ "$1" != "" ]; then DIR="$1"; fi if [ ! -d "$DIR" ]; then mkdir -p "$DIR"; fi cd "$DIR" echo -n "Creating new git repository... " git init >/dev/null echo "done." echo -n "Creating default directory tree... " mkdir -p fugitive/{drafts,articles,templates} echo "done." echo -n "Adding default directory paths to git config... " git config --add --path fugitive.templates-dir "fugitive/templates" git config --add --path fugitive.articles-dir "fugitive/articles" git config --add --path fugitive.public-dir "." echo "done." echo -n "Writing default template files... " fugitive_write_template > fugitive/templates/article.html < fugitive/templates/archives.html < fugitice.css < .git/hooks/post-commit < .git/hooks/post-receive </dev/null git commit -m "fugitive inital import" >/dev/null echo "done." echo -n "Preventing git to track generated html files... " (base64 -d | gunzip) > .git/info/exclude <&2;; "--install") fugitive_install "$2";; "--install-hooks") fugitive_install_hooks "$2";; *) fugitive_usage >&2;; esac