Subversion FSFS - كيف يتم تخزين المراجعات في المستودع؟

StackOverflow https://stackoverflow.com/questions/3696621

سؤال

أود أن أفهم كيفية تنقيح تخزين Subversion في FSFS ، وكيف يتم إنشاء عرض/Shapshot لرقم مراجعة معين.

ما قمت بنشره من googling هو أن FSFS هو بنية دليل بسيطة ، مع توجيهات فرعية لكل مراجعة مثل:

..svn/rev/0/
..svn/rev/1/
..svn/rev/2/

من المفترض أن يتم تسجيل التغييرات فقط (Deltas) ضمن كل دليل مراجعة. فهل هذا يعني أنه عند إنشاء عرض/لقطة للمراجعة n ، يجب أن يتم حل دلتا من 0 إلى N؟

أي روابط للموارد على هذا تقدير كبير.

شكرًا

هل كانت مفيدة؟

المحلول

تخزن التخريب جميع الدلتا من كل مراجعة في ملف مراجعة واحد (مسطح) واحد. كل ملف/مجلد داخل المستودع (يسمى "العقدة") لديه معرف داخلي.

يتكون ملف مراجعة واحد من جميع الدلتا المضغوطة لهذا الالتزام بالذات ، ولكن الدلتا ليست ضد المراجعة السابقة ، ولكن استخدام مخطط يسمى "تخطي الدلتا" تجنب وقت البحث النمو الخطي لتنمية تاريخ الإصدار.

المهم هو أن تستخدم FSFS دلتا إلى الأمام بدلاً من الدلتا المتخلفة باستخدام BDB-Backend. لذا فإن FSFS أسرع في الالتزامات ، ولكنه أبطأ في الخروج ، فإن أداء أداء بيركلي دي بي هو الآخر في الاتجاه الآخر.

يمكنك قراءة المزيد من الداخل ملاحظة تصميم SVN حول FSFS.

نصائح أخرى

فيما يلي رابط إلى مرجع بنية FSFS (بما في ذلك وصف تنسيق الملف): https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top