From: Shawn Pearce Date: Mon, 29 May 2006 08:45:49 +0000 (-0400) Subject: Allow multiple -m options to git-commit. X-Git-Tag: v1.4.0-rc1~23 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=6891281cfa1a7c0d70ec76e80c5f87f518cdb160;p=git.git 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 Signed-off-by: Junio C Hamano --- diff --git a/git-commit.sh b/git-commit.sh index 1983d458..15482d21 100755 --- a/git-commit.sh +++ b/git-commit.sh @@ -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