X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=git-sh-setup-script;h=9ed5e851523a47aa3633494072e6295aa93adb01;hb=452ce291a99131768e2d61d2dcf8a4a1b78d39a3;hp=660c524ce86dfdcf818a1e6698ddf135bac28a58;hpb=3f81fc82743ccd4fd7157f1f1db41605eb018fb9;p=git.git diff --git a/git-sh-setup-script b/git-sh-setup-script index 660c524c..9ed5e851 100755 --- a/git-sh-setup-script +++ b/git-sh-setup-script @@ -11,7 +11,17 @@ die() { exit 1 } -[ -d "$GIT_DIR" ] && -[ -d "$GIT_DIR/refs" ] -[ -d "$GIT_OBJECT_DIRECTORY" ] && +check_clean_tree() { + dirty1_=`git-update-cache -q --refresh` && { + dirty2_=`git-diff-cache --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" ]