چهارشنبه, ۲۶ دی, ۱۴۰۳ / 15 January, 2025
آشنایی با CVS
وقتی با دنیای گنو/لینوکس آشنا می شوید. سعی می کنید درباره آن بیشتر بدانید. از هر موقعیتی برای آشنایی بیشتر با طرز کار سیستم عامل و فرهنگ آن استفاده می کنید. یکی از سوالاتی که بعد از مدتی برای شما پیش می آید. این است که متوجه می شوید تعداد زیادی از پروژه هایی که می بینید٬ توسط گروهی از برنامه نویسان نوشته می شوند. در مراحل بعدی شاید متوجه شوید که این افراد در سرتاسر دنیا از نظر جغرافیایی پراکنده هستند. حال چطور می توان از راه دور یک پروژه زیبا ٬ با شکوه و از نظر فنی کاملا مناسب و حرفه ای را از راه دور دنبال کرد! این سوال من را وادار کرد تا درباره آن تحقیق کنم. ابزارهایی مانند email و لیستهای پستی در بستر مناسبی همچون اینترنت٬ این کار را آسان کرده اند. اما آیا فقط به واسطه آنها می توان به تنهایی از پس کار برآمد ؟ یکی دیگر از جوابهایی که در این راه به آن رسیدم٬ چیزی بود به نام CVS. شاید این کلمه برای شما آشنا باشد و یا برای یک حرفه ای ابزاری مناسب که سالها از آن استفاده می کند. اگر شما با این موضوع آشنا نیستید ٬ این مقاله می تواند شروعی برای آشنایی با این موضوع باشد. شاید روزی شما هم وارد دنیایی مشابه دنیای برنامه نویسان شدید. برای CVS کتابهای متعددی وجود دارند و من قصد ندارم وارد دنیایی از دستورات و روشها برای CVS بشوم. چراکه آنوقت باید روی کتاب قطوری کار کرد. پس تنها به معرفی آن و طرح نمونه ای برای آشنایی مختصر با طرز عملکرد آن می پردازیم.
اما این کلمه CVS به چه معنایی است؟ (Concurrent Versions System) کنترل نسخه های متفاوت ! خوب شاید برگردان آن به فارسی چندان مناسب نباشد. اما در یک جمله ٬ می توان گفت که برای ذخیره کردن تاریخچه کدها یا متون شما است. تاریخچه ! شما متنی دارید و آن را برای اولین بار ایجاد کرده اید. حال هر از گاهی آن را تغییر می دهید و آن را به روز می کنید. اگر تغیراتی را که اعمال کرده اید٬ ذخیره بشوند و هر وقت خواستید بتوانید از این تغییرات مطلع باشید. می تواند در موردی مانند دنبال کردن باگهای یک برنامه مفید باشد. می توانید گذشته را مرور کنید و ببینید که چه چیزی مشکل را ایجاد کرده بود.
ذخیره کردن نسخه های متفاوت از فایل می تواند وقت و زمان زیادی را از شما بگیرد. اما CVS همه را در یک فایل ذخیره می کند. شما نیازی به حفظ و نگهداری شماره هایی که این فایل را به مرور ویرایش می کنید٬ نخواهید داشت. هر زمان که بخواهید می توانید این روند را از روی گزارش ها پیگیری کنید.
اگر شما عضوی از یک گروه هستید و روی یک پروژه کار می کنید ٬ CVS برای شما ابزار مناسبی خواهد بود. می توانید به طور همزمان روی یک پروژه کار کنید. بعضی از رابطها خودشان سعی می کنند تا جلوی ویرایش همزمان را از دو نفر بگیرند. می توانید به صورت جداگانه روی یک پروژه کار کنید و خود CVS بعد از پایان کار ٬ آن را جمع و جور می کند.
پروژه CVS با نوشتن یکسری اسکریپت(Shell script) از سوی Dick Grune برای comp.sources.unix از نسخه شش به بعد در سال ۱۹۸۶ میلادی شروع شد. که می توان گفت که این کدها در CVS امروزی قرار ندارند و حتی قسمتی از آن را تشکیل نمی دهند. در سال ۱۹۸۹ ٬ Brian Berliner طراحی و کدنویسی آن را انجام داد و بعدها Jeff Polk به کمک او آمد.
●آشنایی با طرز کار CVS
برای اینکه با طرز کار CVS آشنا شوید. آن را از دو سمت client و server نگاه می کنیم. تا بتوانیم تقریبا آنچه که اتفاق می افتد را ببینیم. مسائل امنیتی و نحوه مدیریت ٬ کارایی و اطمینان لازم را ایجاد می کند.
Serve●r
اولین چیزی که برای مدیرت فایلها نیاز داریم ٬ به اصطلاح یک مخزن است. این مخزن یا همان دایرکتوری ٬ برای قرار دادن فایلهای پروژه ها هستند. بنابراین ایجاد مخزن اولین قدم است. شما می توانید آن را در هر جایی که بخواهید ایجاد کنید. بسته به اینکه کار شخصی خودتان یا شبکه محلی یک دفتر را انجام می دهید و یا اینکه قرار است روی اینترنت باشد و تعداد بیشتری به آن دسترسی داشته باشند. خوب به عنوان مثال یک فایل متنی را با دوستانم روی رایانه شخصی خودم به اشتراک می گذارم. آنها می توانند با کد کاربری خودشان از رایانه من استفاده کنند. چون من از پارتیشن home نگهداری می کنم و از سیستمهای متفاوتی استفاده می کنم٬ امن ترین جا همان دایرکتوری شخصی است. یک دایرکتوری به نام project ایجاد می کنم و مخزن اصلی کارهایم قرار می دهم.
توجه: با توجه به اینکه این یک مثال است. من هر دو سمت client و server را در دایرکتوری شخصی خودم اضافه کردم.
mohammad@debian:~$ cd project mohammad@debian:~/project$ cvs -d /home/mohammad/project init mohammad@debian:~/project$ ls -l total
ایران مسعود پزشکیان دولت چهاردهم پزشکیان مجلس شورای اسلامی محمدرضا عارف دولت مجلس کابینه دولت چهاردهم اسماعیل هنیه کابینه پزشکیان محمدجواد ظریف
پیاده روی اربعین تهران عراق پلیس تصادف هواشناسی شهرداری تهران سرقت بازنشستگان قتل آموزش و پرورش دستگیری
ایران خودرو خودرو وام قیمت طلا قیمت دلار قیمت خودرو بانک مرکزی برق بازار خودرو بورس بازار سرمایه قیمت سکه
میراث فرهنگی میدان آزادی سینما رهبر انقلاب بیتا فرهی وزارت فرهنگ و ارشاد اسلامی سینمای ایران تلویزیون کتاب تئاتر موسیقی
وزارت علوم تحقیقات و فناوری آزمون
رژیم صهیونیستی غزه روسیه حماس آمریکا فلسطین جنگ غزه اوکراین حزب الله لبنان دونالد ترامپ طوفان الاقصی ترکیه
پرسپولیس فوتبال ذوب آهن لیگ برتر استقلال لیگ برتر ایران المپیک المپیک 2024 پاریس رئال مادرید لیگ برتر فوتبال ایران مهدی تاج باشگاه پرسپولیس
هوش مصنوعی فناوری سامسونگ ایلان ماسک گوگل تلگرام گوشی ستار هاشمی مریخ روزنامه
فشار خون آلزایمر رژیم غذایی مغز دیابت چاقی افسردگی سلامت پوست