Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

16 Commits

Folders and files

Repository files navigation

git-changes-by-day

git-changes-by-day is a Go command-line tool that reads git history from a target repository and writes a CSV file with one row per commit.

Build

go build -o ./bin/git-changes-by-day .

Run the compiled binary:

./bin/git-changes-by-day -repo /path/to/repo -text-out ./commit-text.csv

Usage

go run . -repo /path/to/repo -text-out ./commit-text.csv

For quick-start guidance, automation best practices, exit behavior, and the complete CLI and CSV schema reference:

go run . help
# These aliases provide the same reference: /help, -h, -help, --help

Flags:

  • -repo: repository to inspect. Defaults to the current directory.
  • -text-out: output path for the per-commit text CSV.

Use explicit paths in automation, give concurrent runs distinct output paths, and check the exit status before consuming the CSV. Existing output files are replaced. Commit author email is personal data and should be handled accordingly.

Output

commit-text.csv columns:

  • datetime (UTC, RFC3339)
  • date (UTC, YYYY-MM-DD)
  • commit_hash
  • author_email
  • github_author_handle
  • github_author_display_name
  • text
  • files_changed
  • lines_added
  • lines_deleted
  • lines_changed
  • co_author_emails (JSON array, preserving trailer order)
  • github_co_author_handles (JSON array; empty string when email is not a GitHub noreply address)
  • github_co_author_display_names (JSON array)

Development

go build ./...
go test ./...

GitHub Actions includes:

  • ci: runs tests on pushes and pull requests.
  • publish-artifact: generates and uploads the commit CSV artifact after ci succeeds for an update to main.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages