Commit Graph
9 Commits
Author SHA1 Message Date
uberwald 8b5f0d8ae2 chore: downgrade post-receive hook failure to debug 2026-06-24 13:52:27 +02:00
uberwald 324ec60c8c fix: set GITEA_PUSH_VERIFIED for post-receive hook too 2026-06-24 13:49:08 +02:00
uberwald 7ae008717f fix: use git fetch from Gitea side to transfer objects + update refs without triggering pre-receive hook 2026-06-24 13:47:50 +02:00
uberwald f8093bf648 fix: pass changed refs list to post-receive hook 2026-06-24 13:34:10 +02:00
uberwald 811e3748d4 refactor: bypass Gitea pre-receive via update-ref + manual post-receive 2026-06-24 13:33:45 +02:00
uberwald d123e80586 fix: fetch to refs/remotes/gitea/* instead of overwriting refs/heads/* 2026-06-24 13:18:12 +02:00
uberwald 05bc2b02ec fix: set GITEA_PUSH_VERIFIED=1 to bypass Gitea pre-receive hook 2026-06-24 13:11:54 +02:00
uberwald 4f41bd3488 feat: daemon polls Gitea for new commits before sync_git_to_svn 2026-06-24 11:45:05 +02:00
uberwald 45fb8c40d0 feat: initial import — SVN↔Git bi-directional mirror for Gitea
Server-side sidecar daemon. Uses own SQLite mapping table (not git svn)
so Git commit hashes never change. Pure Python, zero framework deps.

Includes:
- SVN→Git sync engine with nested-directory tree reconstruction
- Git→SVN push with author mapping and working-copy management
- Branch/tag sync (svn copy → git branch/tag and reverse)
- Gitea integration (on-disk push/fetch, webhook receiver)
- Reconciliation tool for divergence recovery (assess + auto-fix)
- Full end-to-end regression test (bash, 34 checks)
- systemd unit and deployment docs

Only external dependency: PyYAML (config parsing).
2026-06-23 09:47:02 +02:00