3 पॉइंट द्वारा xguru 3 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • लोकल clone की ज़रूरत बिना source remote से target remote तक refs और objects को सीधे stream करता है, और repository को लोकल disk पर checkout नहीं करता
  • Relay ट्रांसफर पाथ के जरिए source upload-pack pack data को target receive-pack में सीधे बहाता है, इसलिए repository के size से अलग memory उपयोग स्थिर रहता है
  • relay संभव न होने पर (force, prune, delete आदि) Materialized fallback के तहत in-memory go-git store में objects को fetch करने के बाद packfile encode और push करता है, और --materialized-max-objects से memory सीमा तय की जा सकती है
  • git-sync sync एक ही कमांड से खाली target की शुरुआती seeding से लेकर लगातार synchronization तक संभालता है, और git-sync plan से push से पहले preview देखा जा सकता है
  • git-sync replicate target refs को source के साथ पूरी तरह match करता है, लेकिन अगर local materialize की ज़रूरत पड़े तो failure देने वाला strict mode है
  • ref बनाना, update करना, --force से force update, --prune से delete करना जैसी सभी ref management actions को support करता है
  • push से पहले सभी actions की planning करता है और typed JSON output देता है, जिससे इसे CI/automation pipelines से सीधे जोड़ा जा सकता है
  • Go library के रूप में embed भी किया जा सकता है, और Probe, Plan, Sync, Replicate जैसी stable APIs प्रदान करता है
  • सिर्फ one-way, SSH unsupported (केवल Smart HTTP/HTTPS), daemon/watch functionality के बिना one-shot execution mode
  • MIT license

1 टिप्पणियां

 
colus001 3 시간 전

लगता है worktree के लोकप्रिय होने की वजह से इसे बनाया गया होगा। इस्तेमाल करके देखना पड़ेगा!