X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=publish2web;h=9a748489c959a9edf17bb5201e027a548b0c1c21;hb=83727d11cd79db706eb3029194d735031f8ac3c3;hp=2708364666a01d1edecafa6f24ba22809a73230c;hpb=38ab9e31c986f27acc4f45364bacfac18edf7bc4;p=git-scripts.git diff --git a/publish2web b/publish2web index 2708364..9a74848 100755 --- a/publish2web +++ b/publish2web @@ -1,7 +1,7 @@ #! /bin/sh if [ -z "$1" ]; then - echo "Usage: $0 repoistory" >&2 + echo "Usage: $0 repoistory [directories]" >&2 exit 1 fi @@ -15,16 +15,18 @@ fi && cd "$HOME"/tmp && dest_dir="`basename \"$source_dir\"`".git && -git clone --mirror --config core.sharedRepository=0644 "$source_dir" "$dest_dir" && +git clone --bare --config core.sharedRepository=0644 "$source_dir" "$dest_dir" && cd "$dest_dir" && -git gc --aggressive && git fsck --strict && -cp -p hooks/post-update.sample hooks/post-update && hooks/post-update && -cp -p "$HOME"/Internet/WWW/htdocs/git.phdru.name/phdru.name.git/git-daemon-export-ok . && +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 - "${VISUAL:-${EDITOR:-vi}}" "$source_dir"/.git/description description + `git var GIT_EDITOR` "$source_dir"/.git/description description else cp -p "$source_dir"/.git/description . && chmod a+r description fi && @@ -32,9 +34,20 @@ if [ -f "$source_dir"/README.html ]; then cp -p "$source_dir"/README.html . && chmod a+r README.html fi && -cd .. && -mv "$dest_dir" "$HOME"/Internet/WWW/htdocs/git.phdru.name && +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 027 && +umask 077 && cd "$source_dir" && -exec git remote add --mirror=push web "$HOME"/Internet/WWW/htdocs/git.phdru.name/"$dest_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