diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2026-02-27 15:40:24 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2026-02-27 15:46:37 +0000 |
| commit | 28ad5440c7184de9833f8448bc90153ee4499c83 (patch) | |
| tree | 92e72a62cc0465b11c4ec2028f9f6d8c4058057e /git_hooks/commit-msg | |
| parent | 3aa9b7a8e49d8ec5a87693d3f52ae2c77f036ff2 (diff) | |
fix: annotated tags missing from list due to dropped peeled refs
RepoState::try_from was explicitly discarding all refs/tags/*^{} entries
("peeled" refs) when parsing the nostr state event. This meant the list
command only advertised the tag object OID, but git requires two lines for
annotated tags:
<tag-object-oid> refs/tags/v1.0.0
<commit-oid> refs/tags/v1.0.0^{}
Without the ^{} peeled line git cannot resolve the tag to a commit, so
git fetch --prune treats it as unresolvable and deletes it.
The nostr state event already stores both entries correctly (written by
generate_updated_state in push.rs). The fix simply stops try_from from
discarding the ^{} entries on read, so they flow through to the list
output unchanged.
Diffstat (limited to 'git_hooks/commit-msg')
0 files changed, 0 insertions, 0 deletions