git-rev-list: do not forget non-commit refs
[gitweb.git] / git-sh-setup.sh
index d5bfa62dee0e85d404f955edefd2151e8c0e7aab..dbb98842bf6327210c604ae65a128cdfc785b32c 100755 (executable)
 unset CDPATH
 
 die() {
-       echo "$@" >&2
+       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" ] &&
+case "$(GIT_DIR="$GIT_DIR" git-symbolic-ref HEAD 2>/dev/null)" in
+refs/*)        : ;;
+*)     false ;;
+esac &&
 [ -d "$GIT_DIR/refs" ] &&
-[ -d "$GIT_OBJECT_DIRECTORY/00" ]
+[ -d "$GIT_OBJECT_DIRECTORY/" ]