هل ما زالت "نسخة كسول" للتخريب كسولًا عند الكتابة فوق ملف تم حذفه مسبقًا؟
سؤال
هل ما زالت "نسخة كسول" للتخريب كسولًا عند الكتابة فوق ملف تم حذفه مسبقًا؟
أقوم بتخزين العوامل الخارجية الخاصة بي في مجلد منفصل لكل إصدار: أي قل لـ Dojo:
webroot\
scripts\
dojo-v-1.0.0\
dojo-v-1.1.0\
وما إلى ذلك ، من خلال القيام بذلك ، بالنسبة لي على الأقل ، أشعر أنه يجعل من السهل التبديل إلى إصدار جديد.
من خلال إضافة كل إصدار جديد فقط ، لا أعطي SVN التاريخ الذي يحتاجه إلى القيام بنسخ كسول. لذلك تكتيك واحد استخدمته هو
- نسخ SVN فوق الإصدار القديم إلى حيث سيكون الإصدار الجديد
- ثم SVN حذف هذا المجلد بأكمله
- ثم قم بفك نسختي الأحدث في هذا المكان
- ثم SVN إضافتها
والفكرة هي تجنب وجود كمية هائلة من البيانات المكررة في ريبو.
آمل أن تنظر SVN إلى الملفات الجديدة وتقول ،
"مهلا ، لقد حصلت بالفعل على هذا مرة واحدة ، ونسخها ، ثم تم حذفها ... لذلك سأكون كسولًا وأخزن التغييرات فقط".
كانت هذه نظريتي - لكن هل يحدث ذلك في الممارسة العملية؟
ملاحظة: نعم ، أعرف أن البديل هو تعيين "خصائص الخارجيات على المجلد" - لكن هذا سؤال آخر.
المحلول
يجب عليك قراءة الفصل "فروع البائع" في كتاب التخريب ، لأن هذا هو بالضبط ما يدور حوله.
للإجابة على سؤالك:
لا ، لن يستخدم Subversion نسخة كسول على ملفات مضافة جديدة في السيناريو الخاص بك.
إذا كنت تريد تجنب هذا ، فاستخدم load_dirs.pl (وهو موصوف أيضًا في فرع البائعين)