38 lines
871 B
38 lines
871 B
#!/bin/sh |
|
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";; |
|
N*) echo "# new file: $name";; |
|
U ) echo "# unmerged: $name";; |
|
esac |
|
done |
|
echo -n "$trailer" |
|
[ "$header" ] |
|
} |
|
|
|
git-update-cache --refresh >& /dev/null |
|
git-diff-cache -B -C --cached HEAD | sed 's/^://' | report "Updated but not checked in" "will commit" |
|
committable="$?" |
|
git-diff-files | sed 's/^://' | report "Changed but not updated" "use git-update-cache to mark for commit" |
|
if [ "$committable" == "0" ] |
|
then |
|
echo "nothing to commit" |
|
exit 1 |
|
fi |
|
exit 0
|
|
|