#!/bin/sh # # Set up GIT_DIR and GIT_OBJECT_DIRECTORY # and return true if everything looks ok # : ${GIT_DIR=.git} : ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"} # Having this variable in your environment would break scripts because # you would cause "cd" to be be taken to unexpected places. If you # like CDPATH, define it for your interactive shell sessions without # exporting it. unset CDPATH die() { echo "$@" >&2 exit 1 } check_clean_tree() { dirty1_=`git-update-index -q --refresh` && { dirty2_=`git-diff-index --name-only --cached HEAD` case "$dirty2_" in '') : ;; *) (exit 1) ;; esac } || { echo >&2 "$dirty1_" echo "$dirty2_" | sed >&2 -e 's/^/modified: /' (exit 1) } } [ -h "$GIT_DIR/HEAD" ] && [ -d "$GIT_DIR/refs" ] && [ -d "$GIT_OBJECT_DIRECTORY/00" ]