* 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
* Produce a better error message when the destination org doesn't exist.
* Support pushing to the authenticated user's account
**Before**
`error creating github repository `synced-actions/setup-node`: error creating repository: POST http://my-ghes-hostname/api/v3/orgs/synced-actions/repos: 404 Not Found []`
**After**
`error creating github repository `synced-actions/setup-node`: Organization `synced-actions` doesn't exist at http://my-ghes-hostname. You must create it first.`
https://github.com/actions/actions-sync/issues/1