تمام سوالات سوالات بدون پاسخ سوال بپرسید

در این سوال متوجه شدم که چطور یک svn repository رو می شود توی ubuntu ایجاد کنم. اما اگر بتونم همه repository های پروژه های مختلف شرکت رو توی یک شاخه بصورت زیر داشته باشم، کارم خیلی بهتر می تونه انجام بشه و نظم کار بهتره. شکل کلی این شاخه ها به این صورت است:

http://sourceserver/svn/project1
http://sourceserver/svn/project2
http://sourceserver/svn/project3
http://sourceserver/svn/project4
http://sourceserver/svn/project5
1 پاسخ

درود دوست گرانقدر و سپاس به خاطر بیان پرسش های سودمند

فرض کنید که درحال حاضر project1 از Subversion استفاده می کنه و ما Subversion server رو با نام svnserver راه اندازی کرده و کاربر بانام svn و یک repository ایجاد کرده ایم (/home/svn/repository).

اینم دستوری که برای راه اندازی سرور باید اجرا بفرمائید:

$ svnserve -d -r /home/svn/repository

حال فرض کنید که بعدا بخواهیم پروژه های project2 و project3 از Subversion استفاده کنن. این پروژه ها هیچ ارتباطی به پروژه یک (project1) ندارند و نیاز به repository های خودشان دارند.

کاری که باید انجام بدیم اینه:

$ ssh svn@svnserver
$ mkdir repositories
$ cd repositories
$ svnadmin create project2
$ svnadmin create project3

اصولا باید الان نمای دایرکتوری شبیه شکل زیر باشد:

+---repositories
|   +---project2
|   |   +---conf
|   |   +---dav
|   |   +---db
|   |   +---hooks
|   |   \---locks
|   \---project3
|       +---conf
|       +---dav
|       +---db
|       +---hooks
|       \---locks
\---repository
    +---conf
    +---dav
    +---db
    +---hooks
    \---locks

کاری که هم اکنون باید انجام دهیم انتقال repository اصلی مربوط به project1 هست. البته پیشنهاد بنده اینه که ابتدا svnserve را غیرفعال کنی و البته به همه کسانی که روی پروژه 1 کار می کنن اعلام کنی اگرچه درواقع انتقال بیشتر از چند ثانیه طول نمی کشه!

$ killall svnserve
$ mv repository repositories/project1
$ svnserve -d -r /home/svn/repositories

اگر شما از svnserve بصورت inetd mode استفاده می کنید، تغییرات بالا بصورت مستقیم اعمال می شوند. کافی است که فایل تنظیمات svnserve رو برای نشان دادن repository root جدید تنظیم کنید.

URL های جدید عبارتند از :

svn://svnserver/project1
svn://svnserver/project2
svn://svnserver/project3

توجه داشته باشید که آدرس قبلی برای پروژه یک svn://svnserver بوده است و این یعنی اینکه هرکسی که برروی یک کپی از پروژه یک کار می کند باید سوئیچ را انجام دهد:

$ svn switch --relocate svn://svnserver svn://svnserver/project1

کارهای پایانی: چند تغییر هست که در نهایت باید انجام دهید:

  • اسکریپت پشتیبان گیری (repository backup script)
  • project1 automated build
  • و اسکریپت های خود ساخته (personal build scripts)

امیدوارم این نوشته سودمند واقع گردد.

شاد زی و تندرست.

هایکا آدان


منبع

toggle preview



آموزش زبان برنامه نویسی C#
آموزش jquery
آموزش برنامه نویسی
آموزش طراحی وبسایت
آموزش مدیریت وبسایت
آموزش جاوا Java
آموزش پایتون Python
آموزش سی شارپ C#‎
آموزش HTML و CSS
آموزش JavaScript جاوااسکریپت
آموزش jQuery جی کوئری
آموزش ساخت ربات تلگرام
آموزش برنامه‌نویسی PHP
آموزش برنامه‌نویسی اندروید
● آموزش‌های رایگان

سوالات مرتبط

راهنمای استفاده از ویرایشگر
  • *ایتالیک*‌ یا __ایتالیک__
  • **ضخیم** یا __ضخیم__
  • آدرس:[متن](http://url.com/ "عنوان")
  • عکس?![alt متن](/path/img.jpg "عنوان")
  • لیست عددی: 1. Foo 2. Bar
  • برای رفتن به خط بعد، هر جا مایلید که خط جدید شروع شود دو کاراکتر فاصله (space) قرار دهید
  • تگ‌های ساده HTML هم پشتیبانی می‌شوند

تگها:
این سوال را دنبال کنیدتوسط ایمیل: ایمیل شما (باید معتبر باشد, هرگز به دیگران نمایش داده نمیشود):

هنگامی که شما به سیستم وارد شوید،قادر خواهید بود برای بروز رسانی ها مشترک شوید.


توسط RSS:

پاسخها

پاسخها و نظرها