شروع کار با Bazaar برای کد MySQL

  • 2022-10-2

از آنجا که این مطلب را می خوانید ، احتمالاً می دانید که Sun برای همه کارهای توسعه در سرور MySQL به سیستم کنترل نسخه Bazaar در حال تغییر است. بر خلاف سیستم کنترل نسخه ای که قبلاً از آن استفاده کرده ایم ، Bazaar یک پروژه منبع باز و آزادانه در دسترس هر کسی است. این بدان معنی است که اکنون پیروی از توسعه مداوم یا حتی شرکت در آن بسیار ساده تر است!در روند نزولی ، دقیقاً مانند ابزار قبلی ما ، Bazaar به اندازه سیستم های کنترل نسخه سنتی مانند CV یا Subversion کاملاً رو به جلو نیست. هدف از این مقاله ارائه یک مرور کلی و یک ایده کلی در مورد نحوه تنظیم بازار ، نحوه دسترسی به مخازن کد منبع MySQL سرور و دستورات اصلی برای کار با کد منبع است.

برپایی

Bazaar در پایتون نوشته شده است و به مفسر Python 2. 4 یا هر نسخه جدیدتر نیاز دارد. اگر در Solaris ، Linux ، Mac OS X یا یک سیستم عامل مشابه UNIX یا UNIX مانند هستید ، احتمال دارد که قبلاً پایتون داشته باشید. به صفحه بارگیری Bazaar بروید و آخرین بسته منبع پایدار را بارگیری کنید. می توانید بازار را مستقیماً از بایگانی استخراج شده اجرا کنید ، یا می توانید آن را در سطح سیستم نصب کنید. برای جزئیات بیشتر ، و لیستی از وابستگی های "نرم" که می تواند تجربه بازار شما را بهبود بخشد ، به لیست سؤالات متداول نصب مراجعه کنید. اگر در ویندوز هستید ، از صفحه بارگیری ویندوز نصب کنید و برای جزئیات بیشتر به صفحه نصب ویندوز مراجعه کنید. توجه داشته باشید که شما باید چندین کتابخانه را نصب کنید که Bazaar به آن بستگی دارد.

پس از این ، شما یک تنظیم اساسی از بازار ، از جمله رابط خط فرمان دارید.(به هر حال: اگر به نوعی ترجمه شده اید "به صفحه بارگیری بروید و آخرین نسخه پایدار را بارگیری کنید" به یک دعوت مناسب یا مشابه ، لطفاً اطمینان حاصل کنید که حداقل نسخه 1. 5 Bazaar را دارید.) افزونه های زیادی برای Bazaar وجود داردکه خارج از محدوده این مقاله است. یکی از مواردی که ممکن است مورد توجه باشد BZR-GTK است ، افزونه ای که یک رابط کاربری گرافیکی را برای چندین کار مشترک پیاده سازی می کند. می توانید آن را در سایت بازار پیدا کنید.

دسترسی به مخازن سرور MySQL

Bzr-intro-launchpad

سرور MySQL در LaunchPad. جعبه خاکستری که می گوید "تمرکز توسعه فعلی" پیوند به شاخه 5. 1 را دارد.

مخازن منبع MySQL در Launchpad آینه می شوند. برای دیدن شعب موجود ، از صفحه پروژه MySQL Server در LaunchPad بازدید کنید. در وسط آن صفحه ، یک بخش "جدول زمانی" را با چندین سری نسخه منتشر شده مشاهده خواهید کرد. برای رسیدن به نمای کلی از شاخه ها در سری MySQL 5. 1 ، روی یکی از مواردی که می گوید 5. 1 کلیک کنید. سپس بر روی پیوند MySQL 5. 1 در بخش "کد برای این سری" کلیک کنید تا به شعبه واقعی MySQL 5. 1 برسید. مجموعه ای از خطوط اطلاعات کلی در مورد شعبه و اخیراً متعهد را مشاهده خواهید کرد. از همه مهمتر ، این صفحه همچنین به شما می گوید چگونه کد منبع را دریافت کنید. در بالای صفحه ، خطی وجود دارد که می گوید "این شاخه را دریافت کنید" و به دنبال آن یک دستور ، در این مورد BZR Branch LP: MySQL-Server. این دستور تمام چیزی است که شما باید وارد کنید تا یک شعبه محلی MySQL 5. 1 را در رایانه خود ایجاد کنید.

به نظر می رسد آسان است ، درست است؟باید یک روند نزولی وجود داشته باشد ، درست است؟درست!ایجاد یک شاخه به این معنی است که BZR مجبور است تاریخچه کامل MySQL را تا جدیدترین تجدید نظر در شاخه ای که در حال انشعاب هستید بارگیری کند. در مورد MySQL ، این به معنای بارگیری نزدیک به 60. 000 تغییر است. مهمتر از آن ، متاسفم که باید اعتراف کنم که بازار دقیقاً سریعترین سیستم کنترل نسخه در آنجا نیست. ایجاد شعبه می تواند بیش از نیم ساعت به همراه چندین فنجان قهوه طول بکشد!

خبر بد این است که شما نمی خواهید از این کار خودداری کنید. با این حال ، خبر خوب این است که شما فقط باید یکبار صبر کنید. اکنون زمان مناسبی برای تصمیم گیری با کد منبع MySQL است: اگر قصد دارید چندین شعبه محلی ایجاد کنید ، به عنوان مثال شاخه خود را با تغییرات شخصی خود یا فقط چندین سری از نسخه های مختلف MySQL ، در آنجا ایجاد کنید. چیزی است که باید درباره آن بدانید: مخازن مشترک.

هنگامی که با CVS پرداخت می کنید ، یک دسته از پرونده ها دریافت می کنید - اما فقط این. تاریخ در مخزن CVS باقی مانده است. وقتی مرتکب تغییر می شوید ، آن را به مخزن متعهد می کنید. بازار ، همانطور که قبلاً نیز اشاره کردم ، به همان اندازه مستقیم نیست. هنگامی که یک شاخه ایجاد می کنید ، نسخه شما شامل تاریخچه کامل است.(روش هایی برای جلوگیری از این امر وجود دارد ، اما متأسفانه ، بازار هنوز کند است و در پایان خیلی مهم نیست.) اگر دو شاخه محلی ایجاد کنید ، هر دو حاوی کل تاریخ هستند. اگر یک شاخه سوم ایجاد کنید ، دوباره تمام تاریخ را می گیرید. و غیره

این کمی زائد و همچنین کمی زائد است. برای جلوگیری از افزونگی ، می توانید به بازار بگویید که تاریخچه تجدید نظر چندین شاخه را در یک مخزن مشترک ذخیره کند. به این مخزن مشترک گفته می شود. بازار فقط یک بار هر بخشی از تاریخ را در مخزن مشترک قرار می دهد. در نتیجه ، فقط یک بار فقط هر بخشی از تاریخ را بارگیری می کند. از آنجا که شاخه های مختلف سرور MySQL بخش خوبی از تاریخ خود را به اشتراک می گذارند ، این امر بیشتر زمان بارگیری را هنگام ایجاد شعبه دوم خود و همچنین فضای دیسک زیادی صرفه جویی می کند. در اینجا نحوه انجام آن آورده شده است:

اول ، قبل از ایجاد هر شاخه ، یک دایرکتوری خالی ایجاد کنید که در آن تمام شاخه های خود را حفظ کنید. سپس با اجرای BZR Init-Repo یک مخزن مشترک ایجاد کنید. در آنحالا شما تنظیم شده اید!همانطور که در بالا ذکر شد ، اولین شاخه خود را در این فهرست ایجاد کنید. هنوز هم حدود نیم ساعت تا یک ساعت طول می کشد. اکنون ، یک شاخه دیگر ، به عنوان مثال ، MySQL 5. 0 ، در همان مخزن مشترک ایجاد کنید: BZR Branch LP: MySQL-Server/5. 0. این بار باید خیلی سریعتر باشد!در اینجا همه دستوراتی که می خواهید دوباره تایپ کنید ، برای راحتی خود:

اکنون که یک یا دو شاخه MySQL دارید و می دانید چگونه می توانید اطلاعات بیشتری کسب کنید ، بیایید بررسی کنیم که چه کاری می توانید با آنها انجام دهید.

ساختن سرور MySQL از بازار

با فرض اینکه شما همه اینها را نمی خوانید بدون اینکه تصور کنید با کد منبع MySQL چه کاری انجام دهید ، یکی از اولین کارهایی که ممکن است بخواهید انجام دهید ساخت سرور MySQL است ، بنابراین می توانید آن را اجرا کنید.

ساخت سرور درست در شاخه ای که ایجاد کرده اید بسیار دلپذیر است. کتابچه راهنمای MySQL دستورالعمل هایی در مورد ساخت از توزیع منبع دارد. مراحل ساخت از یک شاخه بازار تقریباً یکسان است. با این حال ، بسته به سیستم عامل خود ، قبل از اینکه دستورالعمل ها را دنبال کنید ، باید منبع را تهیه کنید.

اختیاری: منبع را صادر کنید

اگر می خواهید شعبه خود را تمیز نگه دارید ، یک کار وجود دارد که ممکن است بخواهید انجام دهید: شعبه را صادر کرده و کد صادر شده را بسازید. هیچ الزامی دقیق برای این کار وجود ندارد ، اما برخی از کارها را آسان تر می کند. این نسبتاً مستقیم است. از درون شاخه ای که قبلاً ایجاد کرده اید ، دستور زیر را اجرا کنید:

با این کار کد منبع در دایرکتوری که مشخص می کنید ، بدون اطلاعات نسخه ای کپی می شود. قبل از ادامه با این دستورالعمل ها به آن فهرست تغییر دهید.

ساخت سیستم عامل های لینوکس و یونیکسوئید

در Linux یا سایر سیستم عامل های Unixoid ، باید Autotools GNU را نصب کنید. منبع MySQL شامل یک اسکریپت است که این ابزارها را اجرا می کند. ما با استناد به آن شروع خواهیم کرد:

به احتمال زیاد ، هشدارهای مربوط به پسوندهای GNU در Makefiles را مشاهده خواهید کرد. آن را نادیده بگیرید. ما به هر حال می خواهیم از gnu make استفاده کنیم.

اگر همه چیز خوب پیش رفت ، اکنون یک اسکریپت پیکربندی را در فهرست برتر شعبه پیدا خواهید کرد. مرحله بعدی اجرای آن اسکریپت است. فراخوانی آن بدون آرگومان ، پیش فرض معقولی را پیکربندی می کند که یک سرور MySQL قابل استفاده را به شما ارائه می دهد که هنوز همه ویژگی ها را شامل نمی شود. به منظور این مقاله ، این کار خواهد بود. اگر به قابلیت های خاصی که در آن گردآوری شده اید نیاز دارید ، لطفاً با آدرس مرجع MySQL در آدرس فوق مشورت کنید. این لیست از گزینه های پیکربندی متداول است.

اسکریپت پیکربندی در نهایت باید پیام زیر را تمام کرده و چاپ کند:

مرحله بعدی انجام ساخت واقعی است که از دو مرحله قبلی دشوارتر نیست. ما فقط می خواهیم از ابزار Make که باید روی سیستم شما نصب شود ، استفاده کنیم. اگر در لینوکس یا هر سیستم GNU دیگری هستید ، جایی که GNU به طور پیش فرض ساخته شده است ، می توانید فقط تایپ کنید:

اگر در یک سیستم غیر GNU هستید که پیش فرض اجرای GNU را انجام نمی دهد ، باید Gmake را جایگزین کنید:

اکنون ، این بسته به سرعت رایانه شما ، به طور بالقوه می تواند مدت زمان طولانی ، از چند دقیقه تا یک ساعت طول بکشد. در لپ تاپ من ، حدود پنج دقیقه طول می کشد. شما می توانید یک دسته کامل از پیام ها را با استفاده از آن به شما اطلاع دهید که چه کاری انجام می دهد. سرانجام ، آن را تمام می کند. اگر پیام خطایی را نشان ندهد ، ما خوب هستیم.

ساده ترین راه برای اجرای سرور MySQL که ما فقط ساخته ایم از طریق مجموعه تست موجود است. برای این کار به یک مترجم پرل نیاز دارید.

همچنین می توانید از مجموعه تست برای تنظیم نمونه در حال اجرا از سرور MySQL استفاده کنید که می توانید از طریق خط فرمان به آن وصل شوید:

اگر واقعاً می خواهید روی کد منبع کار کنید ، این مفید است. اگر فقط می خواهید سرور را بسازید تا بتوانید از آن استفاده کنید ، یک اسکریپت وجود دارد که توزیع باینری بسیار شبیه به مواردی است که ما منتشر می کنیم:

این باید پرونده ای را ارائه دهد که شبیه به نمونه ای باشد که من دریافت کردم:

شما می توانید از آن استفاده کنید درست مانند شما می توانید از یک بسته مشابه که توسط ما منتشر شده است استفاده کنید. تبریک می گویم ، شما تمام شد!

ساخت ویندوز

ساختمان روی ویندوز کمی متفاوت است. من قصد دارم مراحل اساسی را نشان دهم. یک پرونده Readme در Win/ Subdirectory کد منبع وجود دارد که باید بخوانید حتی اگر به اطلاعات دقیق تری احتیاج ندارید (این خوب است که همیشه پرونده های README را بخوانید).

اول ، از آنجا که توزیع های معمولی ویندوز شامل کامپایلر نیست ، باید یکی را نصب کنید. اگر نمی خواهید ویژوال استودیو بخرید ، می توانید از Express Edition استفاده کنید که می توانید در http://msdn. microsoft. com/vstudio/express/ بارگیری کنید. حتماً Visual C ++ Express را انتخاب کنید.

سپس ، برخی از ابزارهای دیگر وجود دارد که شما باید آنها را نصب کنید. مورد اول Cmake نام دارد و می توانید آن را در http://www. cmake. org بارگیری کنید. مورد دوم Bison نام دارد و می توانید از http://gnuwin32. sourceforge. net/packages/bison. htm بارگیری کنید. اطمینان حاصل کنید که هر دو در مسیر شما هستند ، زیرا شما نیاز به اجرای آنها دارید.

پس از نصب این پیش نیازها ، لطفاً به دایرکتوری که می خواهید بسازید تغییر دهید (یا شاخه ای که قبلاً ایجاد کرده اید یا صادرات). سپس ، ساخت را پیکربندی کنید:

لطفاً برای گزینه هایی که می توانید مشخص کنید به فایل win\README مراجعه کنید. بدون گزینه‌ها، یک باینری اصلی و قابل اجرا MySQL Server دریافت خواهید کرد، اما ممکن است بخواهید یکی از موتورهای ذخیره‌سازی را که به‌طور پیش‌فرض شامل نمی‌شوند، برای مثال InnoDB یا Archive، فعال کنید.

اکنون باید CMake را اجرا کنید تا فایل های پروژه ایجاد کنید که بتوانید با ویژوال استودیو استفاده کنید. به عنوان مثال، اگر Visual Studio 2005 یا Visual C++ Express Edition دارید، باید اجرا کنید:

cmake را بدون آرگومان اجرا کنید تا لیستی از ژنراتورهایی را که پشتیبانی می کند به دست آورید. اگر cmake را از طریق cygwin نصب کرده اید، نسبتا کوتاه خواهد بود. در این حالت، باید cmake ویندوز را مجدداً همانطور که در بالا توضیح داده شد نصب کنید و مطمئن شوید که cmake ویندوز اول در مسیر قرار می گیرد.

همین - منبع پیکربندی شده است. اگر ویژوال استودیو تجاری دارید، می توانید راه حلی را که cmake برای شما ایجاد کرده از خط فرمان بسازید:

در هر حالت دیگری، یا اگر خط فرمان را دوست ندارید، البته می توانید فقط فایل mysql. sln را با IDE خود باز کنید و از آنجا بسازید.

اطلاعات بیشتر در بازار

پس از تمام موارد بالا، شما می دانید که چگونه به کد MySQL Server دسترسی پیدا کنید. با این حال، اگر به استفاده از SVN یا CVS برای کنترل تجدید نظر عادت دارید، بازار کاملاً متفاوت است. توضیح دقیق بازار خارج از حوصله این مقاله است، اما من همچنان برخی از تفاوت ها را برای شروع به شما نشان می دهم.

اول از همه، بازار یک سیستم کنترل بازبینی توزیع شده است، در حالی که SVN و CVS متمرکز هستند. با بازار، شما یک مخزن مرکزی ندارید که همه روی آن کار کنند و در آن تعهد کنند. در عوض، هر توسعه‌دهنده‌ای می‌تواند در شعبه‌ای از خودش کار کند و همه شعبه‌ها با بازار برابر هستند. در داخل، در گروه پایگاه داده Sun، هر توسعه‌دهنده‌ای معمولاً حداقل یک شعبه از خود دارد که در آن کار می‌کند. تیم‌های توسعه‌دهنده شعبه‌های تیمی دارند که در آنجا کار اعضای تیم را جمع می‌کنند. و در نهایت، تیم انتشار برای انتشار کامل MySQL Server، تمام کارهای تیم را در "درخت اصلی" جمع می‌کند، که ما به آن شاخه مرجعی می‌گوییم که نسخه‌ها را از آن می‌سازیم.

با SVN و CVS، توسعه به صورت افزایشی اتفاق می‌افتد، از یک ویرایش به ویرایش بعدی به ویرایش دیگر. کل تاریخچه یک مخزن خطی است. هر بازبینی بر اساس یک ویرایش والد خاص است.

با بازار همه شعب مستقل از هم هستند. مطمئناً، آنها بیشتر کدهای ذخیره شده در آنها را به اشتراک می گذارند. اما اگر یک توسعه دهنده تغییری را انجام دهد، این روی هیچ شاخه دیگری تأثیر نمی گذارد. برای انتشار تغییرات، یکی تغییرات یک شاخه را به شاخه دیگر فشار می دهد یا تغییرات را از شاخه دیگر در آن ادغام می کند. هرگاه دو شعبه که کار همزمان دارند با هم ادغام شوند، تاریخچه تجدیدنظر غیرخطی می شود. یک تجدید نظر می تواند از چندین والدین مشتق شود. تاریخچه بازنگری تبدیل به یک نمودار تجدید نظر می شود.

Bzr-intro-launchpad

اگر می‌خواهید در مورد نمودار ویرایش یک مخزن بزرگ مانند MySQL Server ایده بگیرید، می‌توانید افزونه bzr-gtk را برای bzr از http://bazaar-vcs. org/bzr-gtk نصب کنید. این شامل دستور "visualize" است که تاریخچه یک شاخه را به تصویر می کشد. از داخل شعبه خود، این دستور را اجرا کنید تا اولین برداشت را دریافت کنید:

بند --limit تعداد بازبینی های نمایش داده شده را به صد مورد محدود می کند. نمایش کامل نمودار کمی بیشتر طول می کشد، اما اگر علاقه مند هستید، دستور را بدون آرگومان های "--limit 100" اجرا کنید و در حالی که منتظر آن هستید، قهوه درست کنید.

استفاده از بازار پایه

شما قبلاً دیده اید که چگونه از بازار استفاده کنید تا یک شاخه محلی از یک موجود موجود ایجاد کنید. من قصد ندارم به اعماق استفاده از بازار در توسعه بروم ، اما می خواهم شما را با یک برگه تقلب کوچک ارائه دهم که حاوی دستورات چندین اقدام مشترک با چندین سیستم کنترل تجدید نظر متفاوت باشد.

خواندن بیشتر

  • بارگیری بازار: http://bazaar-vcs. org/download
  • مستندات بازار: http://bazaar-vcs. org/documentation
  • آموزش 5 دقیقه ای Bazaar: http://doc. bazaar-vcs. org/bzr. dev/en/mini-tutorial/index. html
  • جواهرات پنهان در mysql: http://blogs. sun. com/datacharmer/entry/hidden_jevewls_in_mysql_bazaar
  • از Bazaar به Sandbox در 5 حرکت: http://datacharmer. blogspot. com/2008/06/from-bazaar-to-sandbox-in-5-moves. html

نظرات؟

نظرات این مقاله را در انجمن های MySQL بخوانید و ارسال کنید. در حال حاضر 1 نظر وجود دارد.

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.