[PATCH] Make 'git checkout' a bit more forgiving when switching branches.
[git/jnareb-git.git] / git-sh-setup.sh
blob06d8299ce067a424f047a2830a23ad302d56ec00
1 #!/bin/sh
3 # Set up GIT_DIR and GIT_OBJECT_DIRECTORY
4 # and return true if everything looks ok
6 : ${GIT_DIR=.git}
7 : ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"}
9 die() {
10 echo "$@" >&2
11 exit 1
14 check_clean_tree() {
15 dirty1_=`git-update-index -q --refresh` && {
16 dirty2_=`git-diff-index --name-only --cached HEAD`
17 case "$dirty2_" in '') : ;; *) (exit 1) ;; esac
18 } || {
19 echo >&2 "$dirty1_"
20 echo "$dirty2_" | sed >&2 -e 's/^/modified: /'
21 (exit 1)
25 [ -h "$GIT_DIR/HEAD" ] &&
26 [ -d "$GIT_DIR/refs" ] &&
27 [ -d "$GIT_OBJECT_DIRECTORY/00" ]