# github/git-sizer

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/github-git-sizer).**

3,979 stars · 184 forks · Go · mit

## Links

- GitHub: https://github.com/github/git-sizer
- awesome-repositories: https://awesome-repositories.com/repository/github-git-sizer.md

## Topics

`git` `github` `golang`

## Description

git-sizer is a repository size analyzer and auditing tool used to calculate the size of Git objects, references, and commit histories. It functions as a blob and commit auditor, a history depth profiler, and a checkout weight calculator to identify performance bottlenecks within a Git store.

The tool identifies oversized files and bloated commits to assist with repository maintenance and storage analysis. It detects large objects and measures the depth of commit chains and annotated tags to analyze repository complexity and bloat.

The software covers version control auditing and performance optimization by measuring the potential disk space and path depth required for a full working copy checkout. It employs a mechanism to flag components that exceed size limits and analyzes the impact of large objects on development operations.

## Tags

### Development Tools & Productivity

- [Git Blob and Commit Auditors](https://awesome-repositories.com/f/development-tools-productivity/git-blob-and-commit-auditors.md) — Detects oversized files and bloated commits within a Git store to help optimize repository storage.
- [Commit History Traversal](https://awesome-repositories.com/f/development-tools-productivity/commit-history-traversal.md) — Implements programmatic walking of commit graphs and tree structures to determine repository depth and complexity.
- [Git Performance Analysis](https://awesome-repositories.com/f/development-tools-productivity/git-performance-analysis.md) — Identifies oversized blobs and complex commit chains to improve cloning and checkout speeds for developers.
- [Git Repository Analysis](https://awesome-repositories.com/f/development-tools-productivity/git-repository-analysis.md) — Calculates and audits the size of Git objects, references, and commit histories to identify performance bottlenecks.
- [Git Repository Analyzers](https://awesome-repositories.com/f/development-tools-productivity/git-repository-analyzers.md) — Analyzes the size and structure of Git repositories to find large files or deep histories.
- [Large Object Detection](https://awesome-repositories.com/f/development-tools-productivity/large-object-detection.md) — Flags individual blobs and commits exceeding size limits to locate problematic files within the store. ([source](https://cdn.jsdelivr.net/gh/github/git-sizer@master/README.md))
- [Project History Auditing](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/project-history-auditing.md) — Measures commit chain depth and annotated tags to detect complex histories hindering performance. ([source](https://cdn.jsdelivr.net/gh/github/git-sizer@master/README.md))
- [Version Control Auditing](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/version-control-managers/version-control-auditing.md) — Measures the scale of local Git objects and references to ensure repositories stay within manageable hardware and network limits.

### Data & Databases

- [Raw Object Reading](https://awesome-repositories.com/f/data-databases/object-oriented-databases/git-object-backends/raw-object-reading.md) — Provides direct access to raw Git object data on disk to calculate exact repository sizes without a full checkout.

### Operating Systems & Systems Programming

- [Repository Bloat Analysis](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-analysis-capabilities/repository-bloat-analysis.md) — Computes size metrics for local objects and references to identify oversized components affecting development operations. ([source](https://cdn.jsdelivr.net/gh/github/git-sizer@master/README.md))

### Repository Format

- [Git Storage Analysis](https://awesome-repositories.com/f/repository-format/git-storage-analysis.md) — Locates specific large files or directories within a Git store to determine which assets require external storage.
- [Checkout Weight Calculators](https://awesome-repositories.com/f/repository-format/checkout-weight-calculators.md) — Computes the potential disk space and path depth required for a full working copy checkout.

### Scientific & Mathematical Computing

- [Recursive Tree Traversal Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/recursive-tree-traversal-algorithms.md) — Traverses nested Git tree objects recursively to identify the largest blobs and calculate total checkout weight.

### DevOps & Infrastructure

- [History Depth Profilers](https://awesome-repositories.com/f/devops-infrastructure/git-history-optimizations/history-depth-profilers.md) — Analyzes the depth of commit chains and annotated tags to assess repository complexity.
- [Checkout Impact Measurement](https://awesome-repositories.com/f/devops-infrastructure/sparse-checkouts/checkout-impact-measurement.md) — Calculates the size and path depth of the largest potential working copy to identify excessive disk space consumption. ([source](https://cdn.jsdelivr.net/gh/github/git-sizer@master/README.md))

### Software Engineering & Architecture

- [Repository Metadata Aggregators](https://awesome-repositories.com/f/software-engineering-architecture/compile-time-code-generation/single-pass-generators/single-pass-metric-aggregators/repository-metadata-aggregators.md) — Processes repository metadata in a linear scan to minimize disk I/O and memory overhead during auditing.

### System Administration & Monitoring

- [Alert Thresholds](https://awesome-repositories.com/f/system-administration-monitoring/alert-thresholds.md) — Compares calculated object and history metrics against pre-defined limits to flag problematic repository components.
