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

report () {
  header="#
# $1:
#   ($2)
#
"
  trailer=""
  while read 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 --name-status HEAD |
	sed -e '
		s/\\/\\\\/g
		s/ /\\ /g
	' |
	report "Updated but not checked in" "will commit"

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

	committable="$?"
fi

git-diff-files  --name-status |
sed -e '
	s/\\/\\\\/g
	s/ /\\ /g
' |
report "Changed but not updated" "use git-update-index to mark for commit"


if test -f "$GIT_DIR/info/exclude"
then
    git-ls-files -z --others \
	--exclude-from="$GIT_DIR/info/exclude" \
        --exclude-per-directory=.gitignore
else
    git-ls-files -z --others \
        --exclude-per-directory=.gitignore
fi |
perl -e '$/ = "\0";
	my $shown = 0;
	while (<>) {
		chomp;
		s|\\|\\\\|g;
		s|\t|\\t|g;
		s|\n|\\n|g;
		s/^/#	/;
		if (!$shown) {
			print "#\n# Untracked files:\n";
			print "#   (use \"git add\" to add to commit)\n#\n";
			$shown = 1;
		}
		print "$_\n";
	}
'

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