تبحث عن SVN أفضل الممارسات عند بناء القضبان التطبيقات على أوبونتو [مغلقة]

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

سؤال

أولا قليلا من الخلفية.

لقد تم العمل على MS منهاج حياتي كلها التنمية المهنية.حتى 2 أسابيع مضت ، لم تمهيد أي نظام تشغيل آخر من 98/XP/Vista.لقد بدأت باستخدام VSS منذ فترة طويلة طويلة ، وجعل تغيير SVN حول 2 منذ سنوات.مع SVN يمكنني استخدام TortiseSVN و استخدام معيار فرع/العلامة/شنطة الإعداد.

مشاريعي هي أيضا بذاتها ، وهذا يعني أنني يمكن أن تذهب إلى الطازج ديف مربع ، هدم مستودع واحد ، فتح VS اضغط F5 وسوف المدى (أكثر من مرة).كل التبعيات يتم تخزينها في lib مجلد التعليمات البرمجية المصدر في src المجلد ، الخ...

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

والآن القضايا.

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

حتى أوبونتو يأتي مع روبي المثبتة مسبقا.أريد أن أقول إنه نسخة 1.8.5.وفي كلتا الحالتين, كان لدي مجموعة من الأحجار الكريمة لتثبيت البرنامج المساعد أنا باستخدام (المجتمع المحرك).كونها جديدة *nix, أنا لم تستخدم sudo عند تثبيت لهم ركض في جميع أنواع القضايا.انتهى تهب بعيدا روبي تماما و تبدأ من جديد.التي يبدو أن العمل.

المشكلة على الرغم من أن بعد ارتكاب قانون بلدي و الرجل الآخر يحصل على أحدث لديه للذهاب من خلال كل عملية تثبيت الأحجار الكريمة.

ما هي أفضل الممارسات لإدارة الأحجار الكريمة و الإضافات في RoR التطبيق ؟ أنا لا أهتم إذا زليون ملفات الحصول على إضافة إلى SVN.مساحة القرص وعرض النطاق الترددي للشبكة رخيصة.أنا فقط لا أعرف كيفية القيام بذلك بشكل صحيح.

لذا على SVN.

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

أنا فعلا RTFM قليلا الليلة الماضية وجدت أنه من المفترض أن إنشاء إشارة مرجعية بلدي repos, ثم القيام "الخروج العامل نسخة" من هذه المرجعية.لست متأكدا لماذا ولكن حسنا, هذا ما يقول دليل...

ما هي بعض أفضل الممارسات لاستخدام SVN على RoR المشروع على أوبونتو ؟

أنا حرفيا تبحث عن خطوة خطوة عملية على هذا واحد.

تحرير نسيت أن أذكر أنني استخدام NetBeans لبلدي IDE, على الرغم من أنني لم يتطلع لمعرفة ما هو نوع من SVN الدعم له ، إن وجدت.نظرت RubyMine ، وأحب أن استخدامه ، ولكن يبدو أن تكون غير مستقرة جدا الآن.

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

المحلول

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

للحصول على الأحجار الكريمة, نأمل أن كنت تستخدم القضبان 2 أو أعلى.يجب أن تكون قائمة الأحجار الكريمة التي تحتاجها في حياتك config/environment.rb باستخدام config.gem. وهنا مجموعة من المعلومات حول هذه الميزة

ما يعنيه هذا هو أنه إذا قمت بإضافة جوهرة جديدة في المرة القادمة زملائك التحديثات له القضبان التطبيق لن التمهيد حتى انه حصل على الضروره الأحجار الكريمة.وقال انه يمكن بعد ذلك تثبيت لهم في خطوة واحدة باستخدام sudo rake gems:install

يمكنك أن تأخذ هذه الخطوة واحدة أخرى ، ووضع الأحجار الكريمة في مورد الدليل.هذا هو المعروف باسم "بائع كل شيء." أسهل طريقة للقيام بذلك هي قائمة جميع الأحجار الكريمة التي تستخدم في environment.rb على النحو الوارد أعلاه ، ثم قم بتشغيل rake gems:unpack.هناك 2 مشاكل مع هذا النهج ومع ذلك ، إذا كنت تفضل عدم استخدام ذلك بنفسي.

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

  2. بعض الأحجار الكريمة (مثل هجين أو hpricot) قد الأصلية امتداد مكتوب في C.ما يعنيه هذا هو أنه عند تثبيت لهم ، .c شفرة المصدر هو تحميلها ، gcc يحصل تشغيل تجميع خصيصا النظام الخاص بك.
    إذا قمت بتثبيت الأم ج التمديد على أوبونتو ، ثم وضعها في المورد المجلد ثم حاول تشغيل OS X (أو حتى ربما نسخة مختلفة من أوبونتو) فإنه من المرجح أن تحطم روبي عملية جلب التطبيق الخاص بك إلى أسفل.
    إذا كان كل ما تبذلونه من الأحجار الكريمة هي محض-روبي منها ، ثم هذه ليست مشكلة, ولكن انها مجرد شيء أن تكون على علم.

نصائح أخرى

كثير من الناس استخدام المكبس أو الصحراء لإدارة الإضافات وتثبيت الأحجار الكريمة في السكك الحديدية المحلية المورد المجلد (المخزنة تحت SVN).

http://www.rubyinside.com/advent2006/12-piston.html http://pivotallabs.com/users/brian/blog/articles/459-build-your-own-rails-plugin-platform-with-desert

كما نوصي باستخدام geminstaller التي سوف تساعدك على تثبيت كل نفس الأحجار الكريمة نفس الإصدارات منهم

http://geminstaller.rubyforge.org/

يمكنني استخدام SVN من سطر الأوامر ولكن إذا كنت أكثر راحة مع TortiseSVN قد ترغب في محاولة ايديس التي SVN بشكل متكامل مثل RadRails و NetBeans.ايديس جدا رسومية مماثلة إس مديري مماثلة Tortise, إذا كنت ترغب في العمل على كمد خط فقط تجد بسيطة 10 دقائق إس التعليمي ، يجب أن تكون على ما يرام.

لم أسمع أبدا من السريع إس العادي إس أداة عملت دائما فقط تجد معي ، لا يكاد أي وقت مضى مما تسبب في قفل المجلدات المسألة.

أوريون ذكر الحاجة إلى إعادة بناء الأحجار الكريمة التي تم vendored عندما تقاسمها بين مختلف OS - يمكنك استخدام الأحجار الكريمة:بناء الخليع مهمة لإعادة بناء عليها تلقائيا.

أولا معرفة svn من سطر الأوامر.على svn-كتاب على الخط.فإنه ليس من الصعب جدا أن تفعل إس حالة أو إس لارتكاب -m "إلخ".معظم المشاكل تأتي إذا كنت تستخدم نظام التشغيل وظائف حذف أو إعادة تسمية الملفات.استخدام svn أوامر ذلك.

التالي, إذا rapidsvn لا يعمل بالنسبة لك ، حاول svn-منضدة.أكره أن أقول ذلك, ولكن أيا من لينكس إس أدوات واجهة المستخدم الرسومية التي رأيت هي جيدة كما tortoisesvn.

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

#!/bin/bash

#  reinstall the plugin in an svn friendly way
plugin="some_plugin"
plugin_url="http://some_server/some_plugin/trunk"

for f in site1 site2 site3
do
  echo $f
  cd ~/rails/$f

  svn delete vendor/plugins/$plugin
  rm -rf vendor/plugins/$plugin
  svn -m "remove $plugin" commit
  script/plugin install $plugin_url
  svn add vendor/plugins/$plugin
  svn -m "add $plugin" commit

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