X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=examples%2Fgrok-pull.post_update_hook.sh;h=092ca283b30e289165cf86d279d22fb8a0ac1dbe;hb=8096f9504d06f9a08726ff24df685cce7fcdcb09;hp=3ead394408eb68f80950f78b6326f2ee5e1f471c;hpb=ecb21bea58c0a0cb2a4abb399339d197f8076e56;p=public-inbox.git diff --git a/examples/grok-pull.post_update_hook.sh b/examples/grok-pull.post_update_hook.sh index 3ead3944..092ca283 100755 --- a/examples/grok-pull.post_update_hook.sh +++ b/examples/grok-pull.post_update_hook.sh @@ -1,4 +1,9 @@ #!/bin/sh + +# use flock(1) from util-linux to avoid seek contention on slow HDDs +# when using multiple `pull_threads' with grok-pull: +# [ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock "$0" "$0" "$@" || : + # post_update_hook for repos.conf as used by grok-pull, takes a full # git repo path as it's first and only arg. full_git_dir="$1" @@ -103,7 +108,7 @@ case $cfg_dir in git config -f "$PI_CONFIG" \ "publicinbox.$inbox_name.infourl" "$url" done - curl -sSfv "remote_inbox_url"/description >"$inbox_dir"/description + curl -sSfv "$remote_inbox_url"/description >"$inbox_dir"/description echo "I: $inbox_name at $inbox_dir ($addresses) $local_url" ;; esac @@ -119,6 +124,7 @@ then : v2 inboxes may be init-ed with an empty msgmap ;; *) + # if on HDD and limited RAM, add `-j0' w/ public-inbox 1.6.0+ $EATMYDATA public-inbox-index -v "$inbox_dir" ;; esac