Bazaar

Bazaar (بازار) یک برنامه کنترل نسخه توزیع شده است که باعث آسان تر شدن کار تیمی برروی نرم افزار ها و همچنین مدیریت نسخه های آن می شود. این متن ترجمه همراه با تغییر از این سایت است.
اگر شما یک برنامه نویسید و تا بحال از برنامه های ورژن کنترل استفاده نمی کردید ۱۰۰ درصد اشتباه می کردید حتما وقتی که یه تغییر عمده توی برنامه می دید یه کپی از کل پوشه می گیرید که خیالتون راحت باشه که کدها براش مشکلی پیش نمی یاد تعدا نسخه ها که زیاد بشه چی کار می کنید بازم یه کپی از کلش؟ بعد هم ای کپی ها قاطی می شن و یه نسخه سالم از نرم افزار هم توشون پیدا نمی شه.
فرض کنید که چند نفر دیگه هم بیان کمک شما بازم می خواین کپی بگیرین بدین به هم ؟ خوب اگه ۲ نفر یه فایل رو ویرایش کرده بودن چی؟ حتما فایل های قبلی رو کپی می کنید رو جدید بعد که فهمیدید چی کار کردید بعد می شینید به نرم‌افزار ها تون بدو بیراه می گید؟ (آخه نرم‌افزار رو نمی شه خورد کرد فقط می شه بهش فحش داد اونی که می شه خورد کرد سخت افزار -اینم یه راهنما برای کسایی که تفاوت سخت افزار و نرم افزار رو نمی دونن :D - )
برای اینکه بعدا به کسی بدو بیراه نگین پیشنهاد می کنم یه نرم‌افزار کنترل ورژن رو استفاده کنین
این نرم‌افزار ها تمام تغییرات رو با نام تغییر دهنده و زمانش ذخیره می کنن و هر وقت دوست داشتید به هر زمانی که دوست داشتید می تونید برگردید یا اگه ۲ نفر یه فایل رو ویرایش کرده باشن بهتون اطلاع می ده و دقیقا بهتون می گه که طرف مقابل یه فایل هایی رو دست کاری کرده تا بتونید جایگزین کنید -عجب ترجمه ای کردم :D-

نصب و راه اندازی

برای نصب بستگی داره رو چه سیستم عاملی بخواید نصب کنید

برای سایر پلت فرمهای رایج و برای نصب از کد منبع ، به دانلود و نصب و راه اندازی مراجعه کنید.

معرفی خودتان

هر جایی قبل از شروع خوبه که خودتون رو معرفی کنید تا بقیه هم بدون با کی طرفن
به جای اسم این بابا اسم خودتون رو بنویسد :D

$ bzr whoami "John Doe <john.doe@gmail.com>"

بازار این اطلاعات رو برای استفاده های بعدی ذخیره می کنه
برای اینکه بفهمید که بازار بالاخره فهمید شما کی هستید یا نه از این دستور استفاده کنید

$ bzr whoami
John Doe <john.doe@gmail.com>

نه خدارو شکر فهمیده

 

ایجاد کپی شخصی از برنامه امیر

برای اینکه نزنین کدهای ما رو بترکونین باید اول یه کپی از کدهای امیر بگیرید (یه شاخه اختصاصی بسازید که بهش می گن branch) و روی اون کار کنید

$ bzr branch lp:amir amir.john
Branched 45 revision(s).

با این کار یه شاخه اختصاصی برای شما ساخته می شه که می تونید تغییراتتون رو توی اون اعمال کنید این کار رو با اتصال به اینترنت یا بدون اون می تونید انجام بدید حتی اگه اشتباهی کردید می تونید برگردید به هر زمانی که دوست داشتید (حالا هر وقت اشتباه کردید سرچ کنید پیدا می شه :D)

به روز رسانی شاخه خود از شاخه اصلی

ممکنه تا شما دارید برناه رو برای خودتون تغییر می دید ما هم اینجا روی نرم‌افزار کار کرده باشیم برای شما هم از ما عقب نمونید باید بتونید کدهای خودتون رو به روز کنید.

$ bzr merge
Merging from remembered parent location bzr+ssh://bazaar.launchpad.net/~amir-team/amir/trunk/ Nothing to do.

خوب این یعنی اینکه تغییری نکرده
اگه قبلا سابورژن کار کرده بودید دارید دنبال update می‌گردید خیلی نگردید این سیستم های توزیع شده یکم فرق می کنن بریم جلو می فهمین
اگه تغییر کرده باشه اینو می بینید

All changes applied successfully

ببخشید ها من رفتم و بیام یکم طول کشید
آها اگه تغییر کرده بود اینجوری می شه فهمید که چیا تغییر کرده

$ bzr diff

اگه تغییرات باب میلتون بود که فبها اگه نبود که ایمیلتون رو عوض کنین :D نه یعنی اینکه کامیت نکنین (یعنی تغییرات رو ارسال کنین به مخزن)
برای کامیت کردن از دستور زیر استفاده کنین

$ bzr commit -m "Merge from main branch"
Committed revision 295.

این سوییج m هم توضیحات بعدا فردا که زدین ترکوندین سورس رو به دردتون می خوره

ایجاد تغییرات در فایل ها

اجازه بدید یکی از فایل ها رو ویرایش کنیم و اون تغییرات رو به مخزن خودمون اضافه کنیم
من یه خط یه فایل setup.py اضافه کردم ببینیم چی شده

$ bzr diff
=== modified file 'setup.py'
--- setup.py	2010-09-07 10:21:59 +0000
+++ setup.py	2010-09-07 10:35:52 +0000
@@ -13,7 +13,7 @@
 #You should have received a copy of the GNU General Public License along 
 #with this program.  If not, see <http://www.gnu.org/licenses/>.
 ### END LICENSE
-
+#add a line
 ###################### DO NOT TOUCH THIS (HEAD TO THE SECOND PART) ######################
 
 try:

می تونم این تغییرات رو بفرستم به ریپوزیتوری پروژه (کامیت کنم)

$ bzr commit -m "Add a line to file"
Committing to: /home/hadi/tmp/amir.john/                                       
modified setup.py
Committed revision 47.

مشاهده لاگ تغییرات

با دستور bzr log شما می تونید تغیرات شاخه رو ببینید برای مشاهده ۲ تغییر آخر از این دستور استفاده کنید :

$ bzr  log -r-2..
------------------------------------------------------------
revno: 45
committer: ha_60 <hadi60@gmail.com>
branch nick: amir
timestamp: Sat 2010-06-26 21:27:01 +0430
message:
  convert to  nested set
------------------------------------------------------------
revno: 44
committer: Golnaz Nilieh <g382nilieh@gmail.com>
branch nick: trunk
timestamp: Sat 2010-06-19 14:13:30 +0430
message:
  Update installation script for running on Windows OS, and some fixes.

ادغام کار شما با پروژه اصلی

بعد از تمام شدن کار شما باید نتیجه کارتون رو برای ما ارسال کنید تا بعد از برسی اون رو توی پروژه اصلی قرار بدیم
برای این کار شما باید یه فایل پچ (merge directive) درست کنید

$ bzr send -o mycode.patch
Using saved parent location "bzr+ssh://bazaar.launchpad.net/~amir-team/amir/trunk/" to determine what changes to submit.
Bundling 1 revision(s).        

یادگیری بیشتر

برای کسب اطلاعات در مورد بازار در خط فرمان

$ bzr help

برای کسب اطلاعات در مورد دستورات بازار :

$ bzr help commands

برای کسب اطلاعات در مورد foo (موضوع یا دستور) :

$ bzr help foo

صفحه قبلی: Launchpad
صفحه بعدی: دریافت