- Tanpa perlu clone lokal, melakukan streaming ref dan objek langsung dari remote sumber ke remote target, tanpa checkout repositori ke disk lokal
- Dengan jalur transfer relay, data pack
upload-pack dari sumber langsung dialirkan ke receive-pack target, sehingga penggunaan memori tetap konstan terlepas dari ukuran repositori
- Jika relay tidak memungkinkan (force, prune, delete, dll.), menggunakan fallback Materialized dengan mengambil objek ke store
go-git dalam memori, lalu mengenkode packfile dan melakukan push; batas memori dapat diatur dengan --materialized-max-objects
- Hanya dengan
git-sync sync, dapat menangani sejak seeding awal target kosong hingga sinkronisasi berkelanjutan; pratinjau sebelum push tersedia lewat git-sync plan
git-sync replicate menyamakan ref target sepenuhnya dengan sumber, tetapi berjalan dalam mode ketat yang akan gagal jika memerlukan materialize lokal
- Mendukung semua aksi pengelolaan ref seperti pembuatan ref, pembaruan, pembaruan paksa dengan
--force, dan penghapusan dengan --prune
- Merencanakan semua aksi sebelum push dan menyediakan output JSON bertipe, sehingga bisa langsung dihubungkan ke pipeline CI/otomatisasi
- Juga dapat di-embed sebagai library Go, serta menyediakan API stabil seperti
Probe, Plan, Sync, dan Replicate
- Khusus satu arah, tidak mendukung SSH (hanya Smart HTTP/HTTPS), dan berjalan dengan model eksekusi sekali jalan tanpa daemon/fungsi pemantauan
- Lisensi MIT
1 komentar
Sepertinya dibuat karena
worktreesedang populer. Harus saya coba!