Skip to main content

Module ingest_git

Module ingest_git 

Source
Expand description

mushroomdb ingest-git <db> <repo>: build and maintain a graph of a git repository. First run ingests the whole history; later runs apply only the commits after the recorded GitSync head, so deletes and renames retract or move derived edges instead of leaving them stale.

Graph shape:

Labelkey (id)props
Authoremailname
Commitfull shamessage, ts, author_id
Filepathpath, dir, ext, commits, n_commits, top_author_id, author_counts
GitSync"__mushroomdb_git_sync__"sha

Edges: user TOUCHED Commit→File, auto-FK AUTHOR Commit→Author and TOP_AUTHOR File→Author, rule-derived CO_CHANGED File→File and KNOWS Author→File.

Structs§

IngestGitOpts
IngestGitReport

Constants§

DEFAULT_MAX_COMMITS_PER_FILE
Cap on the commits list stored per file. Bounds both node size and the cost of the jaccard overlap the co_changed rule runs over that list.

Functions§

format_ingest_git
run_ingest_git