سؤال

أنا أعمل حاليا مع شريك على مشروع PHP.

كلانا يتم التحرير مباشرة إلى خادم محلي (يتم تخزين جميع الملفات على الخادم، والذي يقوم أيضا بتشغيل مكدس Wamp). أنا أبحث عن عميل SVN الذي سيقوم بمراقبة وإنقاذ جميع التغييرات على مجلد HTDocs، وسوف يقوم بتحديث مستودع SVN بعيد، من خلال الويب.

سيكون من المكافأة الرائعة إذا استطعت التعامل مع عميل SVN من خلال واجهة الويب.

على سبيل المثال، أقول أنا أحفظ file1.php إلى الخادم. سوف يتم تحديثها file1.php على موقع SVN. إذا اكتشفت فجأة أن مراجعاتي الأخيرة في الملف سيئة، فقد أتوجه إلى الخادم (أو استخدم بعض واجهة الويب من جهاز الكمبيوتر الخاص بي)، واستبدال file1.php مع مراجعة أكبر سنا.

لا أريد فقط تثبيت خادم SVN على جهازنا المحلي لأنني أرغب دائما في حفظ نسخة عن بعد مع أحدث التغييرات.

أي توصيات؟

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

المحلول

أنا لا أعرف من أي برنامج للقيام بذلك. ربما لن يكون من الصعب البرامج النصية باستخدام عميل SVN سطر الأوامر القياسي. أي لديهم برنامج نصي دفعة / شل يعمل بانتظام والتحقق في كل شيء تغير.

ومع ذلك، أود بشكل قوي جدا تقديم المشورة ضد القيام بذلك!

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

يتأكد Checkin دليل واضح عليك التحقق فقط من الأشياء التي تعمل (بشكل عام) وتتيح لك إعطاء تعليقات Checkin القيمة.

ثم يمكن تحديث الخادم بإصدار جيد معروف من مستودع التحكم المصدر.

يبدو أنك تعمل على نظام الإنتاج. سأصرف بشدة بالنظر باستخدام بيئة (بيئة) ديف والنهج أعلاه.

نصائح أخرى

إذا احصل على هذا صحيح، فإن نيته هو استخدام SVN كإصدار نظام نسخ احتياطي تلقائي. إذا كانت هذه هي الحالة، فإن الشيء الأكثر وضوحا هو استخدام أداة مراقبة الملفات ثم استدعاء عميل سطر الأوامر SVN لملفات تغييرها إلى SVN.

لم أحاول ذلك بعد، لكن SVN - مراقب من الممكن ان يكون مفيدا. ستحتاج إلى عميل ToirtoisesVN المذكور أعلاه للعمل معه.

لم أجد أي (كان لدي أيضا مشكلة).

نحن نفعل هذا في خطوتين.

عندما يتعين علي تطوير جزء من البرامج - أنا فرع الجذع وتعديله عندما يفعل الآخرون نفس الشيء لإكمال مهامهم. ثم ندمج الفروع واختبارها. بعد أن يتم تحديث جذع الاختبار بواسطة التصحيح المدمج.

وأخيرا يقوم Cronjob (أو يدويا) بتشغيل البرنامج النصي الذي يحدد المورد في وضع الصيانة، وحذف HTDocs والصادرات هناك جذع جديد ثم تشون / chmod كل شيء حسب الحاجة.

هذا البرنامج النصي يمكننا تشغيله في أي وقت من لوحة الإدارة، وإعداد مراجعة Neccesary إذا احتجنا للعودة إلى تغييرات Buggy بسرعة ...

قد ترغب في التفكير في حل محلول التحكم في التعليمات البرمجية (Bazaar، GIT، Mercurial) للسيناريو الذي تقترحه، حيث يكون لديك ملزتان يعملان ضد اثنين من البرميل. يمكنك بعد ذلك الحصول على ارتكاب محلي ودفع التغييرات واسحبها إلى وجهتين حسب الاقتضاء.

ولكن الانتقال إلى مشكلتك الفورية، قد تحتاج إلى نوع من الأداة المساعدة التي تراقب تغييرات الملفات على كلا الطرفين ثم يستدعي الأمر عميل SVN حسب الاقتضاء بمجرد اكتشاف التغييرات

أنا لا أصدق أنه ممكن أو سهل للغاية.

عند وضع مجلد ضمن SVN على العميل، يتم إنشاء بنية مجلد محددة لتتبع الملفات التي تم تأمينها، وتغييرها وما إلى ذلك. محاولة تحديث مجلد SVN Server دون التحقق أولا من الملفات أو تحرير الملفات دون التحقق منها (كما تريد أن تفعل) فكرة سيئة.

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

لا أعرف ما إذا كنت ربما SVN خطاف بعد الالتزام قد يكون من بعض الاستخدام، بالنظر إلى البرنامج النصي الصحيح؟ يمكنك نشر التغييرات تلقائيا من المراجعة الحالية (أي المراجعة التي تم إنشاؤها مسبقا فقط لاستدعاء الخطاف) إلى نظام الإنتاج. أعتقد أن هذا هو نوع الشيء الذي تطلبه؟

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

الاعتذار إذا أسيء فهمها.

تعديل: بعد إعادة قراءة السؤال، أعتقد أنك تبحث عن ارتكاب تلقائي في المستودع، وليس عمليات النشر الآلي خارجها. لأن هذا هو الحال، فإن حل البرنامج النصي المقرر اقترحه الآخرون هو أفضل نهج يمكنني التفكير فيه أيضا. +1 لأولئك الذين اقترحوا ذلك.

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