3 ポイント 投稿者 xguru 3 시간 전 | 1件のコメント | WhatsAppで共有
  • ローカルクローン不要で、ソースリモートからターゲットリモートへ ref とオブジェクトを直接ストリーミングし、ローカルディスクにリポジトリをチェックアウトしない
  • Relay 転送経路により、ソース upload-pack のパックデータをターゲット receive-pack にそのまま流し込み、リポジトリのサイズに関係なくメモリ使用量は一定
  • relay が不可能な場合(force、prune、delete など)は Materialized フォールバックでインメモリの go-git ストアにオブジェクトを fetch した後、パックファイルをエンコードして push し、--materialized-max-objects でメモリ上限を設定可能
  • git-sync sync ひとつで 空のターゲットへの初期シードから継続的な同期まで処理でき、git-sync plan で push 前のプレビューが可能
  • git-sync replicate はターゲット ref をソースと完全に一致させるが、ローカル materialize が必要な場合は失敗として扱う厳格モード
  • ref の作成、更新、--force による強制更新、--prune による削除など あらゆる ref 管理アクションをサポート
  • すべてのアクションを push 前に計画し、型付き JSON 出力を提供するため、CI/自動化パイプラインにそのまま接続可能
  • Go ライブラリとしても組み込み可能で、ProbePlanSyncReplicate などの 安定 API を提供
  • 単方向専用、SSH 非対応(Smart HTTP/HTTPS のみ)、デーモン/監視機能なしのワンショット実行方式
  • MIT ライセンス

1件のコメント

 
colus001 3 시간 전

worktree が流行っているから作ったのかな。使ってみよう!