Skip to content

Introduce reference deletions via tombstones

Patrick Steinhardt requested to merge pks-ref-files-backend-tombstones into main

This patch series implements a new "looseRefDeletions" repositroy extension. If enabled, then Git will delete references by creating a special tombstone reference that contains the all-zeroes object ID. This serves two purposes:

  • It avoids lock contention around the packed-refs file.
  • It avoids rewriting the packed-refs file on every rewrite.

Taken together it means that reference deletions are a whole lot more performant now in repositories that have tons of references.

Merge request reports