| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-02-26 | fix: ignore peeled tag entries (^{}) in state event ref parsing | DanConwayDev | |
| State events (kind 30618) can include refs/tags/<name>^{} entries which are git's notation for the dereferenced commit behind an annotated tag. These are not real git refs and are never sent as part of a push. extract_refs_from_state and RepositoryState::from_event were treating them as real refs, causing can_satisfy_state to reject valid annotated tag pushes: the would-be state after the push lacked the spurious ^{} entry, so the exact-equality check always failed. | |||
| 2026-02-26 | send auth rejection reason to git client via ERR pkt-line | DanConwayDev | |
| Previously push auth failures returned HTTP 403 which git clients display as a generic transport error. Now they return HTTP 200 with an ERR pkt-line containing the rejection reason (e.g. 'authorisation failed: No state events in purgatory'), which git displays directly. Remove GitError::Unauthorized as it is no longer used. GitError variants now represent only transport/infrastructure failures; app-level rejections use ERR pkt-line responses. | |||
| 2026-02-26 | release: v1.0.0v1.0.0 | DanConwayDev | |