Skip to content

optimism repo contains many binaries and artifacts in history, significantly bloating size #19241

@0xForerunner

Description

@0xForerunner

The .git directory is 1.04 GB (packed), containing ~2 GB of large blobs (>1MB) accumulated across history. Meanwhile, the actual content at HEAD is only 157 MB. The repo's git history is ~6.5x larger than the current codebase.

Biggest offenders in git history (all removed from HEAD but still in packfiles):

  • tests/artifacts/compressed/artifacts.tgz — 14 versions, ~55-64 MB each, ~389 MB total
  • kurtosis-devnet-nat/bin/op-nat — 4 versions, ~27 MB each, ~105 MB total
  • op-interop-filter/bin/* (Go binaries) — 2 versions, ~45 MB each, ~90 MB total
  • indexer/indexer + indexer/indexer-refresh — 1 each, ~35 MB each, ~70 MB total
  • go/stackman/bin/* (Go binaries) — 2 versions, ~20-46 MB each, ~63 MB total
  • indexer/log.txt (!) — 1 version, 57 MB
  • packages/core-utils/test/fixtures/calldata.json — 1 version, 51 MB
  • op-batcher/op-batcher (Go binary) — 1 version, 47 MB
  • op-deployer/bin/op-deployer — 1 version, 37 MB
  • cannon/multicannon/embeds/cannon-latest — 1 version, 18 MB
  • Various other binaries/archives — ~200+ MB

Compiled Go binaries, compressed test artifacts, and large data files were committed directly to git across history. They're gone from HEAD now, but git still carries every version in the packfile forever.

This is a significant problem for any project that uses optimism as a dependency since they're are forced to clone the repo on every build. I'd recommend using git-filter-repo to fix this up.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions