The default until-date used `date` with the system's default locale
as `date` produces localized output by default.
However, `date -d` cannot parse this localized output
but requires a locale independent format:
https://www.gnu.org/software/coreutils/manual/html_node/Options-for-date.html#index-_002dd-19
This sets the locale to a format parsable by `date` as in the article.
When bind-mounting a Git repository to the workdir, Git would complain about 'dubious ownership'.
We add an exception to the global Git config, in the way Git tells us to.
This should be safe since
- we run in a container, and
- the user can set the mount to read-only.
refs: issue #179
* commitsByYear() previously could only support Default-style
dates for git log. However, a user can use a variety of different
date formats such as relative, default, iso, rfc, short, and raw.
This change modifies commitsByYear() to handle multiple different
date strings
Fixes#172
* Indicate how we're sorting new contributors
* Don't fork for `date` checks
* Include reference in the manpage
Signed-off-by: Ben Cotton <bcotton@funnelfiasco.com>
This reports generates a list of all contributors whose first commit was
after a specified date.
Fixes#169
Signed-off-by: Ben Cotton <bcotton@funnelfiasco.com>
* Added additional information to better explain how to use this
on macOS.
* Updated some of the deps used
* Minor adjustments in the README.md
Addresses Issue #166
* When running "make test" in the root directory of this codebase,
an error will occur as this shell script requires a repo to be
initialized before it can properly execute.
This was done in the past, but at some point, it was removed.
This adds the feature back, tests if we are in a git directory
by using a built-in git command, and only performs this action
if a git repo doesn't already exist. All actions are sent to
/dev/null so the testing should look opaque to the end user.
Note that tests will still fail if a user is missing a required
utility to perform the functionality of git-quick-stats.
* Fixed a typo in the man page
Fixes#162
* Users on macOS and other older distributions of Linux and Unix
cannot fully utilize this application as a handful of date/time
strings in here are specific to the GNU utility found on most
modern version of Linux.
Until every date/time case is handled between the BSD version of
date and the GNU version of date, let's error out akin to how we
do it if the user doesn't have every utility installed to run
this script.
Users can get around this by using package managers on macOS such
as homebrew, macports, etc and making sure that 'date' points to
the GNU version of date instead of the BSD version. Linux and
Unix users can get around this by installing the GNU version of
date, as well.
* Removed checking OSTYPE in the format_date() function as checking
if someone is on a machine that identifies as Darwin is not enough
to handle other edge cases where an older version of BSD date
might be present on the system.