- Yerel clone gerektirmez; kaynak remote'dan hedef remote'a ref'leri ve objeleri doğrudan akıtır, depoyu yerel diske checkout etmez
- Relay aktarım yolu ile kaynak
upload-pack pack verisini hedef receive-pack'e doğrudan iletir; depo boyutundan bağımsız olarak bellek kullanımı sabit kalır
- Relay mümkün olmadığında (
force, prune, delete vb.) Materialized fallback ile objeleri bellek içi go-git store'a fetch eder, ardından packfile encode edip push eder; bellek sınırı --materialized-max-objects ile ayarlanabilir
git-sync sync, boş hedefe ilk seed işlemiyle başlayıp sürekli senkronizasyona kadar her şeyi tek başına yönetir; git-sync plan ile push öncesi önizleme yapılabilir
git-sync replicate, hedef ref'leri kaynakla tamamen aynı hale getirir; ancak yerelde materialize gerekirse işlemi başarısız sayan katı bir moddur
- Ref oluşturma, güncelleme,
--force ile zorunlu güncelleme, --prune ile silme gibi tüm ref yönetimi aksiyonlarını destekler
- Tüm aksiyonları push'tan önce planlar ve tipli JSON çıktısı sunar; böylece CI/otomasyon pipeline'larına doğrudan bağlanabilir
- Go kütüphanesi olarak da gömülebilir;
Probe, Plan, Sync, Replicate gibi kararlı API'ler sağlar
- Yalnızca tek yönlüdür; SSH desteklemez (yalnızca Smart HTTP/HTTPS), daemon/izleme özelliği olmadan tek seferlik çalışma modeliyle çalışır
- MIT lisansı
1 yorum
Worktree popüler olunca bunu yapmış olmalılar galiba. Denemem lazım!