CoolFace
Datasetpublic

akaruineko/git-commits

Dataset: dataset.jsonl Auto-labeled commit dataset scraped from GitHub repositories. Each line is a JSON object representing one commit with extracted features and an inferred label. Features Field Type Description Stats text string Commit message first line, conventional prefix stripped — files_count int Number of files changed mean 4.3, median 1, max 300 additions int Lines added mean 88, median 6, max 187K deletions int Lines deleted mean 172… See the full description on the dataset page: https://huggingface.co/datasets/akaruineko/git-commits.

sourceHugging Facemitupdated 2mo agoView on Hugging Face
0likes73downloads
Dataset Card

Dataset: dataset.jsonl

Auto-labeled commit dataset scraped from GitHub repositories. Each line is a JSON object representing one commit with extracted features and an inferred label.

Features

FieldTypeDescriptionStats
textstringCommit message first line, conventional prefix stripped
files_countintNumber of files changedmean 4.3, median 1, max 300
additionsintLines addedmean 88, median 6, max 187K
deletionsintLines deletedmean 172, median 3, max 2.3M
changed_testsintFiles matching test/spec patternsmean 0.4, median 0, max 286
changed_docsintFiles matching doc/documentation patternsmean 0.6, median 0, max 300
changed_sourceintFiles with known source extensionsmean 2.3, median 1, max 300
has_testsboolAny file in test/spec directory
has_docsboolAny file in docs directory
extensions[string]Unique file extensions in the diff592 unique

Top extensions: md, go, cc, js, h, json, ts, yml, rc, mm

| directories | [string] | Unique top-level directories in the diff | 61 unique |

Top directories: docs, pkg, shell, atom, spec, lib, test, script

| label | string | Inferred commit category | see distribution above |

Labeling heuristics

Labels are inferred from the commit message and file changes using a cascade of signals:

Conventional commit prefix (highest confidence)

fix(scope):     → bugfix
feat(scope):    → feature
chore(scope):   → chore
refactor(scope):→ refactor
docs(scope):    → docs
test(scope):    → test
perf(scope):    → perf
ci(scope):      → ci
build(scope):   → build
style(scope):   → style
revert(scope):  → revert

Gitmoji prefix

:bug:           → bugfix
:sparkles:      → feature
:books:         → docs
:hammer:        → refactor
...             → (28 emoji mapped)

Keyword start (first word)

fix/correct     → bugfix   (unless "lint"→chore, "typo"→docs, docs-only→docs)
doc/readme      → docs
add/new/support → feature
remove/cleanup  → refactor
update/bump     → chore
test/spec       → test
revert/rollback → revert

Free-text keyword (within the whole first line)

crash/corrupt/leak/deadlock       → bugfix
prevent/avoid/guard               → bugfix
cleanup/tidy/polish               → refactor
renam/move                        → refactor
refactor/restruct/redesign/rewrite→ refactor

File-only fallback

  • All files in docs directories → docs
  • All files in test/spec directories → test

Source repos

Data was scraped from the commits endpoint of these public repositories:

  • electron/electron
  • yargs/yargs
  • istanbuljs/istanbuljs
  • fastify/fastify
  • jenkins-x/jx