#!/bin/bash # # Slurp - add everything, slurp into a WIP commit and push # die() { echo "$@" >&2 exit 2 } mkmsg() { # # Create the slurp message # local host=$(hostname) local date=$(date -Isec) echo "WIP slurp, $date at $host" } allowed_anything() { # # Is anything allowed in this repo? # test -f "$ok_file" } allowed_push() { # # Is push allowed in this repo? # grep -qxF PUSH "$ok_file" } main() { local git_root local ok_file local want_push=false git_root="$(git rev-parse --show-toplevel)" || die ok_file="$git_root/.git-slurp-ok" allowed_anything || die "you don't want this." allowed_push && want_push=true git add . git commit -m "$(mkmsg)" $want_push && git push } main