* feat: add --batch-size flag to push refs in batches
Add support for pushing refs in smaller batches to avoid server-side
limits and timeouts when syncing large repositories with many tags/branches.
- Add --batch-size flag (default 0 = no batching, original behavior)
- Add References() method to GitRepository interface
- Implement collectRefs() and pushRefsInBatches() helpers
- Add MinBatchSize validation (must be 0 or >= 10)
This addresses issues where repositories with 1000+ refs fail to sync
to GHES with 'command error on refs/heads/<branch>: failed' errors.
* test: add tests for batch-size flag and push batching functionality
* fix: pin tool dependencies to versions compatible with Go 1.21
* ci: fix docker compose v2 syntax and update setup-ruby action
* refactor: address PR review feedback
- Remove unused RefInfo struct from git.go
- Remove redundant pushedAny variable tracking in pushRefsInBatches
- Remove incomplete TestPushRefsInBatches_PartialUpToDate test (already covered by existing test case)
* docs: add --batch-size flag to README