none [kbd-scrolllock] kbd-numlock kbd-capslock kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock 
  1   	ˆl–Ðz¾”ËmJeAàq¶ÔÅ£Ä„Lºç_ŒuÐb&=LyYÿÁÃ 8(    	#!/bin/sh
#
# Copyright (c) 2005 Linus Torvalds
# Copyright (c) 2006 Junio C Hamano

USAGE='[-a | --interactive] [-s] [-v] [--no-verify] [-m <message> | -F <logfile> | (-C|-c) <commit> | --amend] [-u] [-e] [--author <author>] [--template <file>] [[-i | -o] <path>...]'
SUBDIRECTORY_OK=Yes
OPTIONS_SPEC=
. git-sh-setup
require_work_tree

git rev-parse --verify HEAD >/dev/null 2>&1 || initial_commit=t

case "$0" in
*status)
	status_only=t
	;;
*commit)
	status_only=
	;;
esac

refuse_partial () {
	echo >&2 "$1"
	echo >&2 "You might have meant to say 'git commit -i paths...', perhaps?"
	exit 1
}

TMP_INDEX=
THIS_INDEX="${GIT_INDEX_FILE:-$GIT_DIR/index}"
NEXT_INDEX="$GIT_DIR/next-index$$"
rm -f "$NEXT_INDEX"
save_index () {
	cp -p "$THIS_INDEX" "$NEXT_INDEX"
}

run_status () {
	# If TMP_INDEX is defined, that means we are doing
	# "--only" partial commit, and that index file is used
	# to build the tree for the commit.  Otherwise, if
	# NEXT_INDEX exists, that is the index file used to
	# make the commit.  Otherwise we are using as-is commit
	# so the regular index file is what we use to compare.
	if test '' != "$TMP_INDEX"
	then
		GIT_INDEX_FILE="$TMP_INDEX"
		export GIT_INDEX_FILE
	elif test -f "$NEXT_INDEX"
	then
		GIT_INDEX_FILE="$NEXT_INDEX"
		export GIT_INDEX_FILE
	fi

	if test "$status_only" = "t" -o "$use_status_color" = "t"; then
		color=
	else
		color=--nocolor
	fi
	git runstatus ${color} \
		${verbose:+--verbose} \
		${amend:+--amend} \
		${untracked_files:+--untracked}
}

trap '
	test -z "$TMP_INDEX" || {
		test -f "$TMP_INDEX" && rm -f "$TMP_INDEX"
	}
	rm -f "$NEXT_INDEX"
' 0

################################################################
# Command line argument parsing and sanity checking

all=
also=
allow_empty=f
interactive=
only=
logfile=
use_commit=
amend=
edit_flag=
no_edit=
log_given=
log_message=
verify=t
quiet=
verbose=
signoff=
force_author=
only_include_assumed=
untracked_files=
templatefile="`git config commit.template`"
while test $# != 0
do
	case "$1" in
	-F|--F|-f|--f|--fi|--fil|--file)
		case "$#" in 1) usage ;; esac
		shift
		no_edit=t
		log_given=t$log_given
		logfile="$1"
		;;
	-F*|-f*)
		no_edit=t
		log_given=t$log_given
		logfile="${1#-[Ff]}"
		;;
	--F=*|--f=*|--fi=*|--fil=*|--file=*)
		no_edit=t
		log_given=t$log_given
		logfile="${1#*=}"
		;;
	-a|--a|--al|--all)
		all=t
		;;
	--allo|--allow|--allow-|--allow-e|--allow-em|--allow-emp|\
	--allow-empt|--allow-empty)
		allow_empty=t
		;;
	--au=*|--aut=*|--auth=*|--autho=*|--author=*)
		force_author="${1#*=}"
		;;
	--au|--aut|--auth|--autho|--author)
		case "$#" in 1) usage ;; esac
		shift
		force_author="$1"
		;;
	-e|--e|--ed|--edi|--edit)
		edit_flag=t
		;;
	-i|--i|--in|--inc|--incl|--inclu|--includ|--include)
		also=t
		;;
	--int|--inte|--inter|--intera|--interac|--interact|--interacti|\
	--interactiv|--interactive)
		interactive=t
		;;
	-o|--o|--on|--onl|--only)
		only=t
		;;
	-m|--m|--me|--mes|--mess|--messa|--messag|--message)
		case "$#" in 1) usage ;; esac
		shift
		log_given=m$log_given
		log_message="${log_message:+${log_message}

}$1"
		no_edit=t
		;;
	-m*)
		log_given=m$log_given
		log_message="${log_message:+${log_message}

}${1#-m}"
		no_edit=t
		;;
	--m=*|--me=*|--mes=*|--mess=*|--messa=*|--messag=*|--message=*)
		log_given=m$log_given
		log_message="${log_message:+${log_message}

}${1#*=}"
		no_edit=t
		;;
	-n|--n|--no|--no-|--no-v|--no-ve|--no-ver|--no-veri|--no-verif|\
	--no-verify)
		verify=
		;;
	--a|--am|--ame|--amen|--amend)
		amend=t
		use_commit=HEAD
		;;
	-c)
		case "$#" in 1) usage ;; esac
		shift
		log_given=t$log_given
		use_commit="$1"
		no_edit=
		;;
	--ree=*|--reed=*|--reedi=*|--reedit=*|--reedit-=*|--reedit-m=*|\
	--reedit-me=*|--reedit-mes=*|--reedit-mess=*|--reedit-messa=*|\
	--reedit-messag=*|--reedit-message=*)
		log_given=t$log_given
		use_commit="${1#*=}"
		no_edit=
		;;
	--r