Repositories are searched recursively in the specified base directories. The earliest root commit and the earliest repository in a repository group are determined in the two ways: by author datetime and by committer datetime. Collected data are represented in the JSON format.
The utility is written in Python. I also tried to use type hints, data classes and generators as much as possible.