* Fixing a bug where, if you insert an author's name that has a space in the
"Git commits by author per hour" option, it fails due to improper variable
expansion. Note that the current implementation is a "greedy" one in that
it will attempt to look for any instance of the user provided string in the
author field
* In some situations, the awk statements in the functions commitsByMonth,
commitsByDay, and commitsByHour attempt to divide by zero and display
an error to the user. To invoke this bug, checkout any of the previous
commits and attempt to see commits by hour from some user who has never
committed to this repository.
This commit fixes this bug by making sure the awk statement only ever
executes when the total commits is greater than zero.
* Added a utility checker to make sure that the user has all of the necessary
tools in their path in order to run this script. If they do not exist, it
exits and informs the user that this script cannot locate them in PATH.
* Adjusted shell logic to prevent double negatives from confusing developers
as ! -z is technically read as something akin to "not has no value"
* Changed some statements to utilize safer and more predictable bash-isms
* Minor white space fixes and adjusted the README.md slightly
* Color was originally done with ANSI escape characters for defining
different "expected" colors. However, this is not uniform across all
terminals. To improve what the designers of this program expect
colors to be, escape codes were replaced with tput equivalents.
For more information, see the GNU manual here:
https://www.gnu.org/software/termutils/manual/termutils-2.0/html_chapter/tput_1.html
* Limited scope of variables to their local scope instead of having them
be global
* Renamed menu variables to aid in readability and adjusted formatting
slightly to be more uniform
* Fixed a bug where option_picked was assigning an array to a string
and relying on the default behavior of the shell to interpret it
* Added the -r option to "read" for safety, as read without -r will
interpret backslashes before spaces/line feeds, which tends to
be an unintended side effect
* Updated all backtick notation to the newer POSIX $(..) notation for
aid in readability when paired next to single quotes and improved
safety
* Updated the README.md to include missing utilities and fixed some
minor formatting issues
While using this tool feature "Contribution stats (by author)", I observed that script was not respecting author email as option was being used here was "%ae". Corrected it to "%aE", output looks good now.