Sapling SCM هو نظام تحكم بالمصدر متعدد المنصات وقابل للتطوير بشكل كبير ومتوافق مع Git.
ويهدف إلى توفير واجهات سهلة الاستخدام وقوية للمستخدمين، بالإضافة إلى قابلية التوسع القصوى للتعامل مع المستودعات التي تحتوي على ملايين الملفات وملايين الالتزامات.
لبدء استخدام Sapling، راجع صفحة البدء للتعرف على كيفية استنساخ مستودعات Git الموجودة لديك. اطلع على النظرة العامة لإلقاء نظرة خاطفة على الميزات المتنوعة. قادمة من جيت؟ تحقق من ورقة الغش في Git.
يأتي Sapling أيضًا مزودًا بواجهة مستخدم ويب Interactive Smartlog (ISL) لرؤية مستودعك والتفاعل معه، بالإضافة إلى VS Code Interactive Smartlog المتكامل.
يتكون نظام SCM من ثلاثة مكونات رئيسية:
sl
من جانب العميل وواجهة الويب للمستخدمين للتفاعل مع SCM من Sapling.تتمثل أهداف قابلية التوسع لـ Sapling SCM في التأكد من أن جميع عمليات التحكم في المصدر تتناسب مع عدد الملفات المستخدمة من قبل المطور، وليس مع حجم المستودع نفسه. يتيح ذلك تجارب سريعة وفعالة للمطورين حتى في المستودعات الضخمة التي تحتوي على ملايين الملفات وتاريخ الالتزام الطويل للغاية.
كان Sapling CLI، sl
، يعتمد في الأصل على Mercurial، ويشارك جوانب مختلفة من واجهة المستخدم وميزات Mercurial.
يمكن العثور على رمز CLI في الدليل الفرعي eden/scm
.
Mononoke هو مكون من جانب الخادم في Sapling SCM.
على الرغم من استخدامه في الإنتاج داخل Meta، إلا أنه غير مدعوم للاستخدام الخارجي بعد. تتوفر إصدارات OSS في إجراءات GitHub للتجارب غير المدعومة.
EdenFS هو نظام ملفات افتراضي لإدارة عمليات سحب Sapling.
على الرغم من استخدامه في الإنتاج داخل Meta، إلا أنه غير مدعوم للاستخدام الخارجي بعد. تتوفر إصدارات OSS في إجراءات GitHub للتجارب غير المدعومة.
يعمل EdenFS على تسريع العمليات في المستودعات الكبيرة من خلال ملء ملفات دليل العمل عند الطلب فقط، عند الوصول إليها. وهذا يجعل عمليات مثل checkout
أسرع بكثير، مقابل أداء بسيط عند الوصول إلى الملفات الجديدة لأول مرة. يعد هذا مفيدًا جدًا في المستودعات الكبيرة حيث يعمل المطورون غالبًا فقط مع مجموعة فرعية صغيرة من المستودع في المرة الواحدة.
يمكن العثور على المزيد من وثائق تصميم EdenFS التفصيلية على eden/fs/docs/Overview.md.
يتم إنشاء Sapling CLI حاليًا وتشغيله على Linux وMac وWindows. يمكن بناؤه عن طريق تشغيل make oss
في دليل eden/scm
وتشغيل الملف القابل للتنفيذ sl
الناتج.
يتطلب إنشاء Sapling CLI وجود Python 3.8 وRust وCMake وOpenSSL لواجهة CLI الرئيسية، وNode and Yarn لواجهة مستخدم ويب ISL.
يمكنك الإبلاغ عن مشكلة على GitHub أو الانضمام إلى Discord
المشروع الرئيسي مرخص بموجب GPL-2.0.
الموقع وISL مرخصان بموجب معهد ماساتشوستس للتكنولوجيا.
قد يكون لمشاريع المكتبة الفرعية، مثل minibytes، تراخيص مختلفة. يرجى الرجوع إلى ملف LICENSE
ورؤوس التعليمات البرمجية المصدر في كل مكتبة للحصول على معلومات مفصلة.