Browse Source

Merge pull request #5776 from mitake/commit-title

test: more accurate checking of commit title
Hitoshi Mitake 9 years ago
parent
commit
aab905f7cc
1 changed files with 10 additions and 6 deletions
  1. 10 6
      test

+ 10 - 6
test

@@ -149,18 +149,22 @@ function fmt_tests {
 
 
 	echo "Checking commit titles..."
 	echo "Checking commit titles..."
 	git log master..HEAD --oneline | while read l; do
 	git log master..HEAD --oneline | while read l; do
-		pfx=`echo "$l" | cut -f2 -d' '`
-		if [ "$pfx" == "Merge" ]; then
+		commitMsg=`echo "$l" | cut -f2- -d' '`
+		if [[ "$commitMsg" == Merge* ]]; then
 			# ignore "Merge pull" commits
 			# ignore "Merge pull" commits
 			continue
 			continue
 		fi
 		fi
-		if [ "$pfx" == "Revert" ]; then
+		if [[ "$commitMsg" == Revert* ]]; then
 			# ignore revert commits
 			# ignore revert commits
 			continue
 			continue
 		fi
 		fi
-		if ! [[ "$pfx" =~ :$ ]]; then
-			echo "$pfx"...
-			echo "Expected commit title format '<package>: <description>'"
+
+		pkgPrefix=`echo "$commitMsg" | cut -f1 -d':'`
+		spaceCommas=`echo "$commitMsg" | sed 's/ /\n/g' | grep -c ',$' || echo 0`
+		commaSpaces=`echo "$commitMsg" | sed 's/,/\n/g' | grep -c '^ ' || echo 0`
+		if [[ `echo $commitMsg | grep -c ":..*"` == 0 || "$commitMsg" == "$pkgPrefix" || "$spaceCommas" != "$commaSpaces" ]]; then
+    			echo "$l"...
+			echo "Expected commit title format '<package>{\", \"<package>}: <description>'"
 			echo "Got: $l"
 			echo "Got: $l"
 			exit 255
 			exit 255
 		fi
 		fi