[PATCH] Docs for git-build-rev-cache.
[git.git] / git-sh-setup-script
index 660c524..9ed5e85 100755 (executable)
@@ -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" ]