X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=contrib%2Fgit-hooks%2Fcommit-msg;h=c1fed2ee1f9b4a43bb6ee5a6daf65c9d49cfbfad;hb=df1d59429cbfd1ea2464e863458b6a4a268e516b;hp=caf694c8630bcbf370a399666dc176f915e17be9;hpb=a2cadab9c5f641e2ceacd755b0123df77e5482b6;p=fs%2Flustre-release.git diff --git a/contrib/git-hooks/commit-msg b/contrib/git-hooks/commit-msg index caf694c..c1fed2e 100755 --- a/contrib/git-hooks/commit-msg +++ b/contrib/git-hooks/commit-msg @@ -29,8 +29,8 @@ init() { | tr ' ' '|') readonly WIDTH_SUM=62 readonly WIDTH_REG=70 - readonly JIRA_FMT_A="^[A-Z]\{2,5\}-[0-9]\{1,5\} [-a-z0-9]\{2,11\}: " - readonly JIRA_FMT_B="^[A-Z]\{2,5\}-[0-9]\{1,5\} " + readonly JIRA_FMT_A="^[A-Z]\{2,9\}-[0-9]\{1,5\} [-a-z0-9]\{2,11\}: " + readonly JIRA_FMT_B="^[A-Z]\{2,9\}-[0-9]\{1,5\} " # Identify a name followed by an email address. # @@ -42,6 +42,7 @@ init() { HAS_BODY=false HAS_SIGNOFF=false HAS_CHANGEID=false + NEEDS_FIRST_LINE=true IS_WRAPPING_UP=false @@ -111,7 +112,7 @@ function do_default_line() { error "invalid signoff section line" return } - if (( NUM == 1 )); then + if ${NEEDS_FIRST_LINE}; then HAS_JIRA_COMPONENT=$(echo "$LINE" | grep "$JIRA_FMT_A") if (( ${#HAS_JIRA_COMPONENT} == 0 )); then @@ -126,6 +127,7 @@ function do_default_line() { else HAS_SUMMARY=true fi + NEEDS_FIRST_LINE=false elif (( ${#LINE} > WIDTH_REG )); then error "has line longer than $WIDTH_REG columns." @@ -219,7 +221,11 @@ while IFS= read -u3 LINE; do "") HAS_LAST_BLANK=true - $IS_WRAPPING_UP && continue + + # Do not emit blank lines before summary line or after + # the tag lines have begun. + # + ${NEEDS_FIRST_LINE} || ${IS_WRAPPING_UP} && continue ;; \#*) @@ -251,12 +257,13 @@ while IFS= read -u3 LINE; do *) if [[ "$LINE" =~ ^($INNOCUOUS): ]]; then do_innocuous + elif [[ "$LINE" =~ ^[A-Za-z0-9_-]+-bug-id: ]]; then + # Allow arbitrary external bug identifiers for tracking. + # ck_wrapup + else - # Allow arbitrary external bug identifiers for tracking. - # I can't seem to find a pattern for the "case" that - # checks for "*-bug-id", so this is checked here. do_default_line fi ;;