ref:main

feat: git replace refs (refs/replace/*) #54

open Opened by cole.christensen@gmail.com

Links

No links yet.

git replace substitutes one object for another via refs/replace/<orig-sha>. Niche feature — used for history grafts and commit rewriting without invalidating SHAs downstream.

Scope

  • ObjectResolver.read honors replace refs transparently when replace_refs: true (default like git).
  • Ref API supports creating replace refs.
  • Capability advertisement so clients know we support it.

Acceptance

  • A replace ref mapping commit A → commit B causes git log on our server to show B’s content when walking A.
  • Works end-to-end with git replace client-side.

(Low priority; filing so we don’t forget it exists.)