927 B
927 B
Changelog
1.0.0
Initial release. Extracted from private-monorepo-example into a standalone reusable library.
Features
- Bidirectional sync: forward (mono → subrepo) and reverse (subrepo → mono)
- Multi-target support via
.josh-sync.ymlconfig - Per-target credential overrides (SSH keys, HTTPS tokens)
- Force-with-lease safety for forward sync
- Loop prevention via git trailers
- State tracking on orphan branch (
josh-sync-state) - Initial import and subrepo reset commands
- Composite action for Gitea/GitHub CI
- Nix flake with devenv module
- Preflight validation checks
- Config schema (JSON Schema)
Breaking Changes (vs. inline scripts)
- Python + pyyaml replaced by yq-go (single static binary)
- 7 separate scripts replaced by single
josh-syncCLI - Consumer workflows use composite action (
uses: https://your-gitea/org/josh-sync@v1)