X-Git-Url: https://git.phdru.name/?p=cookiecutter.git;a=blobdiff_plain;f=publish2web;fp=publish2web;h=9a748489c959a9edf17bb5201e027a548b0c1c21;hp=0000000000000000000000000000000000000000;hb=66c0623a378dabb5e714afa61ec6dbc6b1bef300;hpb=bc165058ca1cfa91695b67d85a591316d14353e8 diff --git a/publish2web b/publish2web new file mode 100755 index 0000000..9a74848 --- /dev/null +++ b/publish2web @@ -0,0 +1,53 @@ +#! /bin/sh + +if [ -z "$1" ]; then + echo "Usage: $0 repoistory [directories]" >&2 + exit 1 +fi + +umask 022 && +cd "$1" && source_dir="`pwd`" && + +if [ ! -d ".git" ]; then + echo "$source_dir is not a repoistory (.git isn't found)" >&2 + exit 1 +fi && + +cd "$HOME"/tmp && +dest_dir="`basename \"$source_dir\"`".git && +git clone --bare --config core.sharedRepository=0644 "$source_dir" "$dest_dir" && + +cd "$dest_dir" && +git gc --aggressive && +git repack -a -d -f --depth=20 --window=250 && +git fsck --strict && +git config receive.updateserverinfo true && git update-server-info && +cp -p "$HOME"/Internet/WWW/htdocs/git.phdru.name/phdru.name/phdru.name.git/git-daemon-export-ok . && +if [ "`cat \"$source_dir\"/.git/description`" = \ + "Unnamed repository; edit this file 'description' to name the repository." ] +then + `git var GIT_EDITOR` "$source_dir"/.git/description description +else + cp -p "$source_dir"/.git/description . && chmod a+r description +fi && +if [ -f "$source_dir"/README.html ]; then + cp -p "$source_dir"/README.html . && chmod a+r README.html +fi && + +cd "$HOME"/Internet/WWW/htdocs/git.phdru.name && +directories="$2" && +if [ -n "$directories" ]; then + mkdir -p "$directories" +fi && + +cd "$HOME"/tmp && +mv "$dest_dir" "$HOME"/Internet/WWW/htdocs/git.phdru.name/"$directories" && +echo "$HOME"/Internet/WWW/htdocs/git.phdru.name/"$directories/$dest_dir" >> "`dirname \"$0\"`"/locate-all.list && + +umask 077 && +cd "$source_dir" && +if [ -n "$directories" ]; then + dest_dir="$directories/$dest_dir" +fi && +git remote add web "$HOME"/Internet/WWW/htdocs/git.phdru.name/"$dest_dir" && +exec git push --set-upstream web master