ما هي إيجابيات وسلبيات مكونات SVN الإضافية لـ Eclipse وSubclipse وSuversive؟[مغلق]

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

سؤال

ينتشر SVN في Eclipse إلى معسكرين.قام فريق SVN بتطوير مكون إضافي يسمى مقطع فرعي.يمتلك شعب Eclipse مكونًا إضافيًا يسمى تخريبية.بشكل عام كلاهما يفعلان نفس الأشياء.ما هي مزايا وعيوب كل منها؟

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

المحلول

كلاهما متشابهان جدًا ولكن Subversive هو "موفر Eclipse svn".أستخدم Subversive في المقام الأول بسبب بعض الميزات المريحة:

تجميع التاريخ

عندما أتصفح سجل أحد الفروع بدلاً من مجرد رؤية مجموعة من الصفوف لكل التزام، يمكن تجميع الالتزامات حسب اليوم أو الأسبوع أو ما إلى ذلك.

رسم خرائط الجذع والفروع والعلامات

يفترض Subversive تخطيط svn الافتراضي:الجذع والفروع والعلامات (والتي يمكنك تغييرها)، لذلك عندما تريد وضع علامة أو فرع، بنقرة واحدة، يمكنك تقديم اسم العلامة أو الفرع.

كما قلت، هذه اختلافات بسيطة أجدها مناسبة.كلاهما يعمل بشكل رائع مع المايلين، ولكن بشكل عام لا يوجد الكثير من الاختلافات مع هذين الامتدادين.

يعد الدمج مع Subversive أمرًا مؤلمًا (لم أجرب Subclipse)، ولم أتمكن مطلقًا من الدمج بنجاح.تعد معاينة الدمج رائعة ولكنها لن تكتمل عملية الدمج أبدًا وإلا ستستغرق وقتًا طويلاً.في أغلب الأحيان أقوم بإكمال الدمج من خلال سطر الأوامر دون أي مشاكل.

نصائح أخرى

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

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

شيء واحد أريد التعليق عليه هو هذه الفكرة القائلة بأن Subversive بطريقة ما هو البرنامج الإضافي "Eclipse الرسمي".وهذا غير صحيح، لأنه لا يوجد مثل هذا التصنيف.Eclipse هي مؤسسة مفتوحة المصدر وأي مشروع يريد اتباع القواعد والعمليات ومتطلبات IP الخاصة به، وما إلى ذلك.يمكنهم استضافة مشروعهم مع المؤسسة.هذا لا يجعلك أكثر أو أقل رسمية من أي مكون إضافي آخر.

سأشير أيضًا إلى أن Subversive ظلت في مرحلة "الحضانة" منذ بدايتها، ولا يبدو لي أنها ستلبي متطلبات التخرج أبدًا.كما ترون هنا، كان هناك ملتزم واحد فقط في المشروع وتضاءل نشاط الالتزام إلى مستويات منخفضة جدًا.

تخريبية - مزود فريق SVN

فلماذا يجب عليك استخدام Subclipse؟نحن نشارك بنشاط في التخريب نفسه.أنا عضو في Subversion PMC وأساعد في الحفاظ على روابط لغة Java حتى نتمكن (والمشاريع الأخرى مثل Subversive) من استخدام واجهة برمجة التطبيقات.

نحن نعمل مباشرة مع Subversion لتحديد واجهة برمجة التطبيقات وتحسينها والتأكد من عرض الميزات الضرورية لعملاء مثل Subclipse.نحن نعمل أيضًا بشكل وثيق ونتعاون مع تكامل Visual Studio (عنخSVN) وفرق TortoiseSVN للتأكد من وجود تجربة مستخدم متسقة نسبيًا عبر العملاء.

لا يزال Subclipse قيد الصيانة بشكل نشط ونحافظ على دعم إصدارات Eclipse من 3.2 إلى 4.2.نحن نحاول دائمًا الاستماع إلى التعليقات ودمج الأفكار من المجتمع.تتضمن الإصدارات 1.8.x الأخيرة تغييرات داخلية تعمل على تحسين أداء Eclipse بشكل كبير عند العمل مع المشاريع الكبيرة (وهذا هو الوقت الذي تراه فيه حقًا).

لقد قادت Subclipse الطريق في مجالات مثل دعم تتبع الدمج، حيث عملنا بشكل وثيق مع فريق Subversion في إضافة هذه الميزة أولاً في الإصدار 1.5 ثم تطويرها في الإصدارات اللاحقة.لقد كنا في كثير من الأحيان المستهلكين الأوائل لواجهة برمجة التطبيقات الجديدة وقمنا بتزويد المشروع بالتعليقات اللازمة لتعزيز الميزة.لقد قدمنا ​​أيضًا ميزة الرسم البياني للمراجعة الرسومية منذ عامين، لنصبح أول من يقدم هذه الميزة التي طال انتظارها لمستخدمي Eclipse.

إذا كانت هناك ميزات محددة لواجهة المستخدم في Subversive يرغب الأشخاص في رؤيتها مصنوعة في Subclipse، فأنا أشجعك على زيارة مجتمعنا والمشاركة في منتديات المناقشة الخاصة بنا.ربما يشارك مستخدمون آخرون وجهات نظرك ويمكننا تحسين واجهة المستخدم معًا.

المنتدى [مستخدمو المقطع الفرعي].

يعد Eclipse 4.2 هو الإصدار الأحدث في وقت هذا المنشور، ولكن من الآمن افتراض أن Subclipse سيدعم جميع إصدارات Eclipse المستقبلية عند إصدارها.

مع كل إصدار جديد من Eclipse، أقوم بتثبيت Subversive، لأنه المعيار الذي يوفره Eclipse.وفي كل مرة، تظهر مشكلات في التعرف على مشاريعي الموجودة مسبقًا.

لذلك انتهى بي الأمر إلى إلغاء تثبيت Subversive وتثبيت Subclipse بدلاً من ذلك، والذي يعمل بشكل رائع.أنا أيضًا أستخدم SVN بشكل متكرر من سطر الأوامر وكذلك في Eclipse، ولا يواجه Subclipse أي مشاكل في هذا.

بعد قراءة هذا المنشور، قمت بالتغيير إلى Subclipse.
http://Eclipsezone.com/Eclipse/forums/t77149.rhtml#92035407

إذا كنت تقوم بالكثير من الدمج مع Subversion، فمن المحتمل أنك ستفضل CollabNet Desktop - Eclipse Edition.يجب عليك تسجيل حساب في CollabNet للحصول على التنزيل، ولكنه مجاني.إنه في الأساس مقطع فرعي مع واجهة مستخدم دمج أفضل.

أنا لست تابعًا لـ CollabNet.

قامت CollabNet بإتاحة عميل الدمج المحسن الخاص بها للمستخدمين غير المسجلين في Subclipse.يمكنك الحصول عليه عن طريق تحديد ميزة CollabNet Merge Client عند تثبيت Subclipse من موقع التحديث.

أود أن أقول Subclipse ، لأنني لم أتمكن حتى من تشغيل Subversive ؛)

أعتقد في الواقع أن كلاهما سيء نوعًا ما.استخدام السلحفاةSVN هو حل أفضل بكثير في رأيي.إنه أكثر قوة بكثير ويميل إلى العمل بشكل أفضل، ولقد كنت أواجه دائمًا مشكلات في التكامل مع Subclipse و Subversive.

كلاهما لديه ثآليل شنيعة جدًا، لكنني لم أتمكن من جعل Subversive يعمل مع مشروع قمت بسحبه من سطر الأوامر، وكان ذلك بمثابة توقف بالنسبة لي.

أنا حاول كل منهما, ، وكلاهما Subclipse و Subversive فظيعان.كلاهما يمثل تحديًا للتثبيت.إذا كنت تستخدم Subversive، فإنك لا يمكن استخدام عميل SVN خارجي.

ومع ذلك، يجب أن يكون لديك عميل SVN مثبتًا في Eclipse لتتبع التغييرات وأيضًا لعدم إتلاف المستودع المحلي الخاص بك.

أملك مقطع فرعي تثبيت، ولكن الاستخدام السلحفاةSVN للقيام فعليًا بالتنفيذ/وضع العلامات/التفريع/الدمج.

مقطع فرعي، لأنه يعمل على الأقل.

لقد كان التخريب بمثابة دلو من الفشل بالنسبة لي حتى الآن.لن يكون الأمر جيدًا مع جميع مشاريعي القديمة التي قمت بسحبها باستخدام Subclipse.

من المؤكد أن كلا البرنامجين الإضافيين لـ IDE لديهما مشكلاتهما.ولكن لا يمنع أي منهما الاستخدام المتوازي للحلول الأخرى مثل TortoiseSVN أو سطر الأوامر.أستخدم الثلاثة جميعًا لمشاريعي في العمل.

الشيء المهم الذي يجب أن تتذكره هو أن جميع برامج SVN الخاصة بالعميل الخاص بك يجب استخدم نفس تنسيق ملف SVN - والذي يختلف بين إصدارات SVN - أو أنك تتساءل عن المشكلة.

وجدنا مشكلة أخرى وهي عندما يستخدم برنامج العميل الخاص بك تنسيق ملف SVN مختلفًا عن الخادم.(بتنسيق الملف، أعني الطريقة التي يتم بها تمثيل جميع المعلومات في جميع ملفات .svn التي تبدو غير مرئية والتي تسجل بشكل فعال ما يحتاج SVN إلى معرفته حول ملفات مشروعك.) يمكن أن يؤدي ذلك إلى إحداث فوضى.يوجد خطأ موثق بين 1.5 خادم و1.6 عميل، لكن لا يمكنني العثور على الرابط الآن.

واجهنا مشكلات في تشغيل البرنامج الإضافي Subclipse 1.6 المتميز (IMO) بسبب عدم التوافق مع خادم SVN 1.5.5 الخاص بنا.لذلك عدنا إلى التخريب.إنه يعمل بشكل جيد، وإن كان بطيئًا وعربات التي تجرها الدواب إلى حد ما (ولكنه يتحسن).سنتحول إلى Subclipse عندما يتم تحديث خادمنا.ونعم، نحن نتحقق من مشاريعنا باستخدام TortoiseSVN ونقوم باستيرادها إلى Eclipse (إنه أسرع).

وجدنا أنه، كما ذكر الملصقات الأخرى هنا، لن ينجح الأمر إذا قمنا بتشغيل إصدارات أحدث من TortoiseSVN كتبت ملفات بتنسيق 1.6.x، ولكن عندما عدنا إلى TortoiseSVN 1.5.x، كان الأمر جيدًا.وينطبق الشيء نفسه على عميل سطر الأوامر (الذي نستفيد منه من خلال نملة مهام).

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

مجرد تحديث.لقد قمت مؤخرًا بإعادة تثبيت Eclipse وواجهت خيار Subclipse vs Subversive.لقد واجهت أيضًا نصيبي من المشاكل أثناء محاولتي تشغيل Subversive، لذا قررت استخدام Subclipse.

لقد تم تثبيته بشكل مثالي على جهاز Linux 64 بت الخاص بي ويعمل بشكل جيد.لقد قمت بتعيين الوظائف الأكثر شيوعًا مثل Update و Commit و ..للاختصارات وانها انفجار.يعد الدمج جيدًا أيضًا، على الرغم من أنه بالنسبة لعمليات الدمج الأكبر، ما زلت ألجأ إلى TortoiseSVN.لقد قمت بتجربته مع الإصدارين 3.5 و 3.6 وكلاهما يعمل بشكل جيد.انتهى بي الأمر باستخدام 3.5 لأنه لسبب ما لم يكن ربط المفاتيح يعمل مع 3.6.

إذا كنت تستخدم سفن + سش كبروتوكول للوصول إلى المستودع الخاص بك، أقترح عليك بشدة اختيار Subclipse:إن Subversive ليس ذكيًا بما يكفي لتذكر بيانات الاعتماد الخاصة بك بشكل صحيح ويطالبك باسم المستخدم والمفتاح الخاص في كل مرة تقوم فيها بتحديث نسخة العمل الخاصة بك وأيضًا لكل svn-external قد تكون قمت بإعداده.

تم تعطيل خيارات "تذكر بيانات الاعتماد" في هذا السياق وكانت كذلك منذ الإصدار العام الأول لـ Subversive.

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

من ناحية أخرى، يحتاج التخريب إلى ما يسمى بالموصلات للعمل بشكل كامل.وهؤلاء لديهم تراخيص منفصلة ومختلفة.لذلك قد ينتهي بك الأمر بالحصول على ترخيصين أو ثلاثة تراخيص مختلفة فقط للوظيفة التخريبية، بينما كل شيء آخر توجد مكونات Eclipse الإضافية أسفل EPL مباشرةً.وهذا أيضًا هو سبب عدم استضافة هذه الموصلات على Eclipse.org.

ولهذا السبب يتم تنزيلها ديناميكيًا بعد تثبيت Subversive (مما يعني أيضًا أن النسخ المطابق لموقع تحديث Eclipse.org ببساطة لا يمنحك تثبيتًا Subversive غير متصل بالإنترنت قابلاً للاستخدام في شبكة شركتك).

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

إذا كنت تستخدم TortoiseSVN وتقوم بتحديث الإصدار بانتظام، فقد تجد أن Eclipse with Subversive يفقد جميع معلومات SVN ويتسبب في حدوث بعض الأخطاء المخيفة.

السبب هو أن الإصدار الجديد من TortoiseSVN يضيف بيانات تعريف جديدة لا يفهمها Eclipse Subversive إلا إذا قمت أيضًا بتحديث موصلات Eclipse SVN الخاصة بك أيضًا.

أستخدم بشكل عام موصل SVNKit، لذا سيعمل TortoiseSVN 1.5.x مع موصل Eclipse SVNKit 1.5.x وسيعمل TortoiseSVN 1.6.x مع موصل Eclipse SVNKit 1.6.x.

تخريبية لديها مزايا أكثر من مقطع فرعي كما هو موضح أدناه.لكن ميزة واحدة فقط لا يمتلكها Subversion هي أمر بالغ الأهمية فيما يتعلق باستخدام الفروع.لذلك علينا أن نستخدم مقطع فرعي.

تخريبية مزايا:

  • العرض والأيقونات أكثر إفادة
  • بعد تحديث عناصر مزامنة الالتزام، يتم إغلاق الملف الملتزم.

مقطع فرعي ميزة

  • القدرة على المقارنة بين فرعين

+1 مقطع فرعي
-1 تخريبية

يتم الخلط بين Subversive حتى بعد إعادة البناء البسيطة ويواجه مشكلات في التحقق من الصحة على النحو الوارد أعلاه.

بيئة: اس تي اس 2.7.2 (استنادًا إلى غاليليو)

بالنسبة لي، لا يوجد أي منهما أفضل أو أسوأ، لكن Subversive هو المكون الإضافي الافتراضي لـ SVN في منصة Eclipse Ganymede، لذا هناك فرصة لتكامله بشكل أفضل مع Eclipse.

كإضافة إلى إجابة بريندون:

نحن نستخدم Subversion منذ الإصدار 1.5.1 واستخدمنا Subclipse أولاً.ولكن نظرًا لأننا نعتمد بشكل كبير على ميزة الدمج، فقد قمنا بالتبديل إلى ميزة Subversive التي تعتبر أكثر ملاءمة وتحتوي على خيار إعادة دمج منفصل في مربع حوار الدمج.

أحد الأخطاء التي قد تعيق عملية الدمج هو أنه إذا قمت بتحديد المراجعات بشكل صريح، فإنها لا تأخذ المراجعة الأخيرة المدرجة.على سبيل المثال"101-100" لا يدمج r100 و"100" وبالتالي لا يدمج أي شيء على الإطلاق.(الإصدار 0.7.5)

ويستخدم نفس المؤشرات مثل البرنامج المساعد CVS.

بينما عملت مع Helios، لدي تفضيل طفيف لـ Subclipse بسبب دعمه الممتاز لـ bugtraq ملكيات (التفاصيل هنا).

ال تاريخ يعرض العرض عمودًا منفصلاً (بعنوان bugtraq:label, ، عرض BUGIDs)، وتحتوي قائمة السياق على إجراء مخصص لـ "فتح عنوان URL للأخطاء" (الارتباط بـ bugtraq:url) - لم أتمكن من معرفة كيفية الوصول إلى أي من هذه المعلومات باستخدام Subversive.

لقد كنت أستخدم Subversive منذ أن قمت بالترقية إلى Ganymede.أستخدمه مع Eclipse في Linux (Ubuntu وFedora Core)، وWindows XP، وMac OS X.5.بصرف النظر عن بعض المشكلات في جعل Subversion 1.5.1 يستخدم مكتبات الأمان المناسبة ضمن نظام التشغيل Mac OS، لم أواجه أية مشكلات.ونظراً لأنه تم اعتماده كمشروع تكنولوجي لـ Eclipse، فإنني أميل إلى وضع رهاني عليه، من حيث الآمال على المدى الطويل.

لم أستخدمه حقًا، ولكن يبدو أن Subversive يدعم "تحقق من باسم"، تمامًا كما يفعل دعم CVS المدمج.

مثلًا، لأخذ مشروع من SVN والتمكن من تشغيله كمشروع ويب، قد يتمكن المرء من القيام بذلك دفعة واحدة.ولكن للحصول على نفس النتيجة في Subclipse، ما عليك سوى التحقق من المصادر وتشغيل:

mvn eclipse:eclipse -Dwtpversion=2.0

لقد استخدمت كليهما، وبينما كان Subclipse غير مستقر بالنسبة لي، قام Subversive (على الأقل مع الإصدار السابق) بإغلاق حساب زميلي في العمل عندما أدخل عن طريق الخطأ بيانات اعتماد خاطئة (يتم استخدام تسجيل الدخول إلى الشبكة للوصول إلى مستودع التخريب ).

يميل المقطع الفرعي إلى أن يصبح غير منظم بمرور الوقت.إذا لم يتم تحديث Eclipse بانتظام، فيبدو أن Subclipse يفقد معلومات تتبع الملف الخاصة به.بصراحة، على الرغم من ذلك، بما أن لدي البرنامج المساعد للمستكشف السهل, ، أستخدم Subversive (أحيانًا) للتاريخ وتغيير المعلومات، ولكن من السهل استكشاف واستخدام TortoiseSVN للالتزامات والتحديثات للمشاريع التي أعلم أنني قمت بتغييرها مؤخرًا.

لقد اكتشفت للتو أنني لا أستطيع معرفة كيفية عرض اختلاف الخصائص مع Subclipse.في Subversive، يمكنك تحديد مراجعتين في عرض السجل، ثم انقر بزر الماوس الأيمن وحدد مقارنة الخصائص من النافذة المنبثقة.وهذا يكفي بالنسبة لي للبقاء مع التخريب.

كان سبب محاولة التبديل هو سلوك Subversive الغريب على نظام التشغيل OS X:تؤدي بعض العمليات التلقائية التي تسمى "تحديث ذاكرة التخزين المؤقت لـ svn" إلى ارتفاع مستوى وحدة المعالجة المركزية إلى مستويات غير طبيعية بعد كل تشغيل لـ "تحديث svn"، مما يستغرق دائمًا وقتًا طويلاً بشكل مزعج حتى يكتمل.

FWIW، نحن نستخدم إصدارًا قديمًا من خادم SVN (1.4 شيئًا ما)، ويبدو أنني أتذكر أنه في وقت ما كان هناك تحديث لـ Subclipse أدى إلى كسر التوافق مع الإصدارات السابقة، وكان جوهر الأمر "لا ينبغي لأحد أن يستخدم مثل هذا الإصدار القديم من SVN على أي حال".

كان Subversive هو الوحيد الذي يبدو أنه قادر على التعامل مع الإصدار الأقدم.لا أستطيع أن أتذكر التفاصيل، على الرغم من ذلك، آسف.

لقد حاولنا كلاهما في فريقنا.

نظرًا لأن Subclipse (الذي من Galileo/Helios) واجه بعض المشاكل في مصادقة خادم SVN الخاص بنا عبر خدمات القيمة المضافة، لم تكن لدينا مشكلة في أي مكان آخر، على سبيل المثال.عميل TortoiseSVN والمتصفحات (باستثناء Internet Explorer 7).

لذلك قمنا بتثبيت Subversive وتم حل المشكلة.

ميزة Subclipse على التخريب ...إنه يعمل بالفعل!

لقد استخدمت Subclipse منذ وقت طويل عند تطوير مكون إضافي تعاوني لـ Eclipse يعتمد على Subclipse.لم يكن الجزء Subclipse من البرنامج المساعد يمثل مشكلة على الإطلاق، على الرغم من أن الجزء بأكمله نملة لا يزال الأمر يحيرني بعض الشيء، ولكن الجزء الجيد هو أنك لست مضطرًا إلى فهم كيفية عمل جزء النملة لمعرفة كيفية استخدامه.

أحاول تثبيت PDT اليوم (وهي مدونة أخرى تمامًا) ثم Subversive لأنه، مثل كثيرين، يتم تصويره على أنه "The Eclipse SVN Plugin".لم أتمكن من تثبيت الموصلات الأربعة مرة واحدة، لذلك اضطررت إلى تثبيتها واحدًا تلو الآخر وحاولت تجربتها واحدًا تلو الآخر، ولم أتمكن من المصادقة مع خادم SVN.

أحاول PDT وSuversive، لأنني أريد توفير الوقت، وليس إنفاق المزيد منه على مشكلات مختلفة باستخدام مكون إضافي.

لقد قمت بإلغاء تثبيت Subversive، وقمت بتثبيت Subclipse، وقمت بالاتصال بهذه الطريقة.

وفر على نفسك الوقت والمتاعب، انتقل إلى Subclipse من البداية.

لقد استخدمت كلاهما أيضًا.لقد واجهت مشكلة أن لدي حوالي 150 مشروعًا في مساحة العمل الخاصة بي، وسيستغرق Subversive وقتًا طويلاً للغاية عندما قمت بتحديد جميع المكونات الإضافية وقلت "مزامنة المستودع".سوف تتجمد واجهة المستخدم لفترة طويلة جدًا.أجد Subclipse أكثر استقرارًا.

على أية حال، أنا الجمع بين الأدوات كثيرا.بالنسبة لبعض المهام مثل فحص الفروع بأكملها، أفضّل سطر الأوامر.للآخرين أستخدمه السلحفاةSVN.أستخدم Subclipse في الغالب لعرض السجل وإجراء المقارنات مباشرة على الأداة، وأحيانًا للمقارنة (أفضّل ذلك). أبعد من المقارنة على الرغم من ذلك).

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