* OS X utilizes an older version of GNU Bash. As such, certain features
such as lowercase expansion can fail. This commit removes the Bash 4.0
syntax in favor of a POSIX syntax with awk.
* Users can now switch between allowing merge commits in their stats,
showing only merges in the stats, or ignoring merge commits in
the stats all together.
Showing merges might be good for people who wish to see the entire
history as git shows it by default. For this, setting the new variable
_GIT_MERGE_VIEW to enable will show merge commits in the stats together
with normal commits.
Showing only merges might be useful for people who wish to see how
much of their git history is taken up by merges alone. It can be useful
for re-evaluating a particular workflow. For this, setting the new var
_GIT_MERGE_VIEW to exclusive will show only merge commits in the stats.
The default action is to not display merge commits.
Resolves#88
* Added information in the README.md to show how to exclude files
from the stats by utilizing git pathspec
* Updated the built-in help, manpage, and tests to reflect how git
pathspec can be utilized on files and folders
* Removed the \r tokens that were put in README.md from Windows
Fixes#61
* Added info that demonstrates this utility has the ability to
choose between running this as "git-quick-stats" or
"git quick-stats" as requested in Issue #77
* Adjusted Table of Contents to show all sections and subsections
of the README.md
* Cleaned up some grammar and added some extra info in various
places
* Ran through VS Code's markdownlint extension and adjusted some
syntax accordingly
* The GPG settings don't play well with OS X if you don't have
certain tools installed, so they were removed from the git log
format settings for the JSON output.
* Pictures have been updated to reflect the new menu option.
* The main feature of this commit is addressing the feature request
of adding the ability to save the output as a file to use in other
tools. I decided to use the JSON format as it's relatively straight
forward and easy to create thanks to a few Google searches.
The original feature request was to add the ability to output any of
the options as a JSON/XML/YAML format. That said, because this entire project
is relying only on built-in shell utilities, we kind of have to format stuff
ourselves in relatively primitive tools such as awk, sed, and bash in order
to adhere to the "spirit" of this codebase.
It is possible to use Perl and/or Python, but that would defeat the purpose
of this, in my opinion. The downside of not using these tools is that it
might not be as robust and battle hardened as the others.
AS SUCH, THIS FEATURE IS CURRENTLY EXPERIMENTAL.
As people provide feedback, we can adjust this and possibly extend it to
more options. For now, it respects _GIT_SINCE and _GIT_UNTIL. It does not
respect variable expansion in paths, though, so saving it to a location such
as "${my_save_location}" will fail.
* Made some of the variables a bit more robust by utilizing the -r flag to
make the variables readonly. It should be noted that "local readonly" does
not work, nor does "readonly local". The best way to do this is either via
"local -r foo=bar" or "local foo=bar && readonly bar".
* Fixed a few comments describing how functions work.
* Added a .gitignore.
* Changed all functions to adhere to camelCase style for no real reason
other than consistency and a few other minor things.
* Closes#31
* This sets the newly proposed theme as the main theme. In order to
switch back to the legacy theme, set _MENU_THEME to legacy.
This feature is currently an experimental feature and may change
in the future.
* Fixes documentation and updates test to reflect newly changed theme.
* You can now switch between the default theme and an alternative theme
for those who would like a different look to the interactive menu.
In order to set this, simply do export _MENU_THEME=alternative. Anything
that isn't "alternative" will simply fall back to the default menu option.
* Fixed merge conflicts based on the latest master branch which added the
contribution stats by branch option.
* Fixed tests, updated docs, and all that fun stuff.