Allow multiple -m options to git-commit.

I find it very convenient to be able to supply multiple paragraphs
of text on the command line with a single git-commit call.  This
change permits multiple -m/--message type options to be supplied
to git-commit with each message being added as its own paragraph
of text in the commit message.

The -m option is still not permitted with -c/-C/-F nor are multiple
occurrences of these options permitted.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Shawn Pearce 2006-05-29 04:45:49 -04:00 committed by Junio C Hamano
parent 1361fa3e49
commit 6891281cfa

View File

@ -260,20 +260,41 @@ do
-m|--m|--me|--mes|--mess|--messa|--messag|--message)
case "$#" in 1) usage ;; esac
shift
log_given=t$log_given
log_message="$1"
log_given=m$log_given
if test "$log_message" = ''
then
log_message="$1"
else
log_message="$log_message
$1"
fi
no_edit=t
shift
;;
-m*)
log_given=t$log_given
log_message=`expr "$1" : '-m\(.*\)'`
log_given=m$log_given
if test "$log_message" = ''
then
log_message=`expr "$1" : '-m\(.*\)'`
else
log_message="$log_message
`expr "$1" : '-m\(.*\)'`"
fi
no_edit=t
shift
;;
--m=*|--me=*|--mes=*|--mess=*|--messa=*|--messag=*|--message=*)
log_given=t$log_given
log_message=`expr "$1" : '-[^=]*=\(.*\)'`
log_given=m$log_given
if test "$log_message" = ''
then
log_message=`expr "$1" : '-[^=]*=\(.*\)'`
else
log_message="$log_message
`expr "$1" : '-[^=]*=\(.*\)'`"
fi
no_edit=t
shift
;;
@ -378,7 +399,9 @@ esac
case "$log_given" in
tt*)
die "Only one of -c/-C/-F/-m can be used." ;;
die "Only one of -c/-C/-F can be used." ;;
*tm*|*mt*)
die "Option -m cannot be combined with -c/-C/-F." ;;
esac
case "$#,$also,$only,$amend" in