git-sh-setup.shon commit [PATCH] Make "git shortlog" understand raw logs (aa894d8)
   1#!/bin/sh
   2#
   3# Set up GIT_DIR and GIT_OBJECT_DIRECTORY
   4# and return true if everything looks ok
   5#
   6: ${GIT_DIR=.git}
   7: ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"}
   8
   9# Having this variable in your environment would break scripts because
  10# you would cause "cd" to be be taken to unexpected places.  If you
  11# like CDPATH, define it for your interactive shell sessions without
  12# exporting it.
  13unset CDPATH
  14
  15die() {
  16        echo "$@" >&2
  17        exit 1
  18}
  19
  20check_clean_tree() {
  21    dirty1_=`git-update-index -q --refresh` && {
  22    dirty2_=`git-diff-index --name-only --cached HEAD`
  23    case "$dirty2_" in '') : ;; *) (exit 1) ;; esac
  24    } || {
  25        echo >&2 "$dirty1_"
  26        echo "$dirty2_" | sed >&2 -e 's/^/modified: /'
  27        (exit 1)
  28    }
  29}
  30
  31[ -h "$GIT_DIR/HEAD" ] &&
  32[ -d "$GIT_DIR/refs" ] &&
  33[ -d "$GIT_OBJECT_DIRECTORY/00" ]