#!/bin/sh
#
# Copyright (c) 2005 Linus Torvalds
#
. git-sh-setup || die "Not a git archive"

report () {
  header="#
# $1:
#   ($2)
#
"
  trailer=""
  while read oldmode mode oldsha sha status name newname
  do
    echo -n "$header"
    header=""
    trailer="#
"
    case "$status" in
    M ) echo "#	modified: $name";;
    D*) echo "#	deleted:  $name";;
    T ) echo "#	typechange: $name";;
    C*) echo "#	copied: $name -> $newname";;
    R*) echo "#	renamed: $name -> $newname";;
    A*) echo "#	new file: $name";;
    U ) echo "#	unmerged: $name";;
    esac
  done
  echo -n "$trailer"
  [ "$header" ]
}

branch=$(GIT_DIR="$GIT_DIR" git-symbolic-ref HEAD)
case "$branch" in
refs/heads/master) ;;
*)	echo "# On branch $branch" ;;
esac

git-update-index -q --unmerged --refresh || exit

if GIT_DIR="$GIT_DIR" git-rev-parse --verify HEAD >/dev/null 2>&1
then
	git-diff-index -M --cached HEAD |
	sed 's/^://' |
	report "Updated but not checked in" "will commit"

	committable="$?"
else
	echo '#
# Initial commit
#'
	git-ls-files |
	sed 's/^/o o o o A /' |
	report "Updated but not checked in" "will commit"

	committable="$?"
fi

git-diff-files |
sed 's/^://' |
report "Changed but not updated" "use git-update-index to mark for commit"

if grep -v '^#' "$GIT_DIR/info/exclude" >/dev/null 2>&1
then
	git-ls-files --others \
	    --exclude-from="$GIT_DIR/info/exclude" \
	    --exclude-per-directory=.gitignore |
	sed -e '
	1i\
#\
# Ignored files:\
#   (use "git add" to add to commit)\
#
	s/^/#	/
	$a\
#'
fi

case "$committable" in
0)
	echo "nothing to commit"
	exit 1
esac
exit 0
