Should be obvious... - Use $VISUAL, $EDITOR, in this order if set, and fall back on vi. - Status R, C, D, N usually are followed by number, so adjust case arms to that pattern. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
		
			
				
	
	
		
			39 lines
		
	
	
		
			871 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			871 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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
 |