git-sh-setup.shon commit git-sh-setup: die if outside git repository. (ae2b0f1)
   1#!/bin/sh
   2#
   3# This is included in commands that either have to be run from the toplevel
   4# of the repository, or with GIT_DIR environment variable properly.
   5# If the GIT_DIR does not look like the right correct git-repository,
   6# it dies.
   7
   8# Having this variable in your environment would break scripts because
   9# you would cause "cd" to be be taken to unexpected places.  If you
  10# like CDPATH, define it for your interactive shell sessions without
  11# exporting it.
  12unset CDPATH
  13
  14: ${GIT_DIR=.git}
  15: ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"}
  16
  17die() {
  18        echo >&2 "$@"
  19        exit 1
  20}
  21
  22case "$(GIT_DIR="$GIT_DIR" git-symbolic-ref HEAD 2>/dev/null)" in
  23refs/*) : ;;
  24*)      false ;;
  25esac &&
  26[ -d "$GIT_DIR/refs" ] &&
  27[ -d "$GIT_OBJECT_DIRECTORY/" ] ||
  28        die "Not a git repository."