Whamcloud - gitweb
LU-883 commit: commit-msg rewrite
1. do global initializations in function.
collect the read only and state monitoring initializations
to one place where they can be easily identified.
2. Move the signoff and changeid code to functions.
Have them call a "ck_wrapup" function to validate
the processing state for doing the summary/changeid/etc.
change-id: may now appear before signed-off-by:
3. Move the wrap up validations to the first-time-through-wrapup
code in ck_wrapup.
4. add a function for handling innocuous tag lines.
Only call "ck_wrapup".
5. Remove all $LINE echoing to the end of the case statement.
Use "break" and/or "continue" to bypass line echo.
6. use [ ${#foo} -gt 0 ] in preference to [ $foo ].
This scriptlett will echo "no":
$ f='! -z' ; [ $f ] && echo yes || echo no
You could quote "$f", but directly checking length more
correctly represents the intent.
7. Removed conditions for setting HAS_LAST_BLANK=true because
the conditions were written to be *ALWAYS* true.
foo=false
[ $foo ] && echo hi there
will always echo out, "hi there".
8. eliminate the convoluted and slightly wrong state management
for trying to identify a "diff" block. Instead, just read
in the next line in that case clause and either break out
of the read loop or echo out both of the lines.
9. Do not fork and exec a bunch of programs when ${#LINE} will
directly tell you how many characters are in the line.
10. do default line processing in a function, too. Makes regex
code selection much easier to understand. Also allowed
me to remove the ";&" case statement fall-through construct.
Removed $HAS_SIGNOFF check since $IS_WRAPPING_UP is tested
upon function entry.
11. emacs editor hints.
12. TODO: read the first two lines outside of the loop and
verify that they are up to snuff. Then remove a bunch of
checks scattered about the code. Line counting, etc., etc.
Signed-off-by: Bruce Korb <bruce_korb@xyratex.com>
Change-Id: I30a4a9b77b82af9f9b965823487001cbd5c28230
Reviewed-on: http://review.whamcloud.com/1764
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>