X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-sh-setup.sh;fp=git-sh-setup.sh;h=06d8299ce067a424f047a2830a23ad302d56ec00;hb=215a7ad1ef790467a4cd3f0dcffbd6e5f04c38f7;hp=0000000000000000000000000000000000000000;hpb=99977bd5fdeabbd0608a70e9411c243007ec4ea2;p=git.git diff --git a/git-sh-setup.sh b/git-sh-setup.sh new file mode 100755 index 00000000..06d8299c --- /dev/null +++ b/git-sh-setup.sh @@ -0,0 +1,27 @@ +#!/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"} + +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" ]