Skip to content

Git History Analysis

The git tools analyze repository history to surface temporal patterns that static analysis misses. Files that change frequently, change together, or have concentrated ownership reveal different insights than dependency graphs alone.

Tools

git_hotspots

Identifies files with the highest change frequency (churn). High-churn files are candidates for close inspection --- they may represent active development areas, unstable interfaces, or frequently-patched bugs.

git_files_changed_together

Detects coupling between files based on co-change frequency. Files that consistently appear in the same commits likely have logical dependencies even if there's no import relationship.

This is particularly valuable for:

  • Finding hidden dependencies not captured by import analysis
  • Detecting configuration files that co-change with specific modules
  • Identifying test files that correspond to implementation files

git_blame_summary

Summarizes authorship distribution for a file. Shows which developers own which sections, revealing knowledge concentration and potential review bottlenecks.

git_file_history

Retrieves the commit history for a specific file. Shows the evolution of a file over time, including commit messages that explain the "why" behind changes.

git_contributors

Lists contributors to the repository with commit counts and recency. Helps identify active maintainers and domain experts.

git_recent_commits

Retrieves recent commits across the repository. Provides context about current development activity and recent changes that may affect analysis.

git_diff_file

Shows the diff for a specific file between two commits or against the working tree. Used to understand recent changes to high-scoring files.