ورود

View Full Version : راه اندازی subversion



Exoid948
سه شنبه 21 آبان 1387, 22:47 عصر
با سلام خدمت تمامی دوستان عزیز.

سایت بسیار جالبی هست پر محتوا.

دوستان یک سوالی داشتم در مورد subversion ایا این امکان وجود دارد که در هاست این برنامه را راه اندازی کرد؟
به چه صورت میشه ؟

من مدیر سایت www.evo-cms.com هستم برای پروژه ها لازم دارم ممنون میشم اگه راهنمای کنید.

vcldeveloper
چهارشنبه 22 آبان 1387, 04:10 صبح
فکر کنم باید سرورتون Dedicated باشه. از شرکت ارائه دهنده خدمات Web Hostingتون بپرسید که آیا امکان نصب آن بر روی سرور را میدن یا نه.

maryam_ch
جمعه 15 آذر 1387, 09:09 صبح
دوست عزیز من دیدم که روی کلاینت ریموت به سرور نرم افزار subversion رو نصب کردند.

vcldeveloper
جمعه 15 آذر 1387, 17:57 عصر
دوست عزیز من دیدم که روی کلاینت ریموت به سرور نرم افزار subversion رو نصب کردند.
subversion را میتونید هر جایی نصب کنید، توی LAN مشکلی نیست، ولی برای نصبش در Host، احتمالا باید سرورتون Dedicated باشه. درباره نصبش در هاست، بهتر هست در بخش شبکه سوال بشه.
اما برای استفاده در LAN خیلی راحت میتونید این کار را انجام بدید، حتی بسته های آماده ایی مثل VisualSVN که خیلی تر و تمیز با چند سوال ساده در یک Wizard، میاد SVN و Apache را روی ویندوز نصب میکنه.

Elham_gh
چهارشنبه 25 دی 1387, 14:48 عصر
من يك اشكال در راه اندازي svn دارم.
1.من روي سرور SubVersion رو نصب كردم.
2.روي سرور در repository يك subtree براي پروژه ام ساختم به نام HRM
3.روي سرور دستور زير رو هم اجرا كردم:


svn import . http://server:8080/svn/HRM/


با موفقيت اجرا شد.
4. يك user هم براي subtree ساختم.
5. روي كلاينت هم نرم افزارهاي لازم رو نصب كردم.
خوب حالا روي سرور كار ديگه اي هست؟
روي كلاينت چي كار كنم؟

vcldeveloper
پنج شنبه 26 دی 1387, 00:55 صبح
روي كلاينت هم نرم افزارهاي لازم رو نصب كردم.
خوب حالا روي سرور كار ديگه اي هست؟
روي كلاينت چي كار كنم؟
روی کلاینت چی نصب کردید؟ TortoiseSVN؟
روی کلاینت اگر از TortoiseSVN استفاده می کنید، یک پوشه خالی ایجاد کنید، و در داخل آن راست کلیک کرده و گزینه SVN Checkout... را از منوی نمایش داده شده انتخاب کنید. در کادر آدرسی که باز می شود، آدرس سرور و نام Repository را وارد کنید. اگر نیاز به لاگین داشته باشد، خودش یک پنجره لاگین نمایش می دهد که می توانید در آن username\password را وارد کنید. بعد از لاگین، محتویات Repository در پوشه مورد نظر کپی می شود، و آن پوشه یک Working Copy از آن Repository محسوب می شود. با هر تغییری در محتویات پوشه آیکن آن تغییر می کند و می توانید با استفاده از گزینه SVN Commit تغییرات را در Repository منعکس کنید.
نکته 1: اگر فقط می خواید محتویات Repository را ببینید، بجای Checkout گزینه Repo-browser را انتخاب
کنید.
نکته 2: اگر می خواید فقط محتویات یک پوشه خاص را در Working copy داشته باشید، نه کل Repository، نام پوشه را بعد از نام Repository در کادر آدرس اضافه کنید.

Developer Programmer
پنج شنبه 26 دی 1387, 09:39 صبح
میگم علی جان؛
شما که تو استفاده از SVN، تجربه بیشتری داری. اگه صلاح میدونی یه مقاله آموزشی از نصب و پیکربندیش استاد کن

vcldeveloper
پنج شنبه 26 دی 1387, 12:15 عصر
شما که تو استفاده از SVN، تجربه بیشتری داری. اگه صلاح میدونی یه مقاله آموزشی از نصب و پیکربندیش استاد کن
آخه سه تا مشکل هست، یکیش وقته، دومیش اینه که من با پیکربندی های مختلف SVN سر و کار ندارم، و فقط در همون حدی که خودم روزانه باهاش سر و کار دارم از پیکربندی هاش اطلاع دارم، سوم هم اینکه راهنمای SVN خیلی کامل هست و میشه مثل یک e-book نشست و خواندش. خیلی ساده و واضح سناریوهای مختلف استفاده از SVN را توضیح میده.

hamed_rafat
یک شنبه 09 فروردین 1388, 09:25 صبح
:افسرده:با سلام خدمت دوستان
من با TortoiseSVN و NetBeans IDE 6.1 هر کاری می کنم نمی تونم SVN Checkout کنم خطا می گیره
این آدرس فایل مورد نظر لطفا کمکم کنید
http://sourceforge.net/scm/?type=svn&group_id=159194

vcldeveloper
یک شنبه 09 فروردین 1388, 11:44 صبح
هر کاری می کنم نمی تونم SVN Checkout کنم خطا می گیره
چه خطایی؟ آیا مجوز دسترسی به Repository برای دانلود دارید؟ معمولا یک username\password بصورت عمومی در اختیار کاربران قرار میگیره که بتونند از طریق آن دسترسی Read-only به Repository داشته باشند، و فایل ها را Check-out کنند، ولی برای Commit باید کاربر حتما عضو تیم توسعه دهنده باشه تا بتونه تغییری را در Repository ثبت کنه.

m-khorsandi
دوشنبه 17 فروردین 1388, 18:25 عصر
كتابچه فارسی مديريت فايلهاي يك پروژه نرم افزاري با استفاده از Subversion (http://vahidnasiri.blogspot.com/2008/10/subversion.html)، به قلم وحيد نصيری‌.

vcldeveloper
دوشنبه 17 فروردین 1388, 19:30 عصر
امکان ترجمه کتاب Version Control with SubVersion (http://svnbook.red-bean.com/) هم وجود داره. این کتاب، کتاب خیلی خوبی هست، و بصورت رایگان در دسترس هست. این کتاب به زبان های مختلفی ترجمه شده. به چندین زبان، از جمله فارسی، هم در حال ترجمه هست، ولی پیشرفت ترجمه فارسی آن جالب نیست. دوستانی که فرصت کافی دارند، و علاقه به ترجمه دارند، می توانند در ترجمه فارسی آن مشارکت کنند.

m-khorsandi
دوشنبه 17 فروردین 1388, 21:35 عصر
چطوری ميشه مشاركت كرد؟

vcldeveloper
سه شنبه 18 فروردین 1388, 08:09 صبح
چطوری ميشه مشاركت كرد؟
قبلا یک لینکی بود که در آن پیشرفت کار ترجمه هر زبان بصورت نمودار نمایش داده میشد، و علاقه مندان می تونستند در ترجمه به زبان مورد علاقه شان شرکت کنند. الان هر چی می گردم، آن لینک را پیدا نمی کنم. اگر پیدا کردم، اینجا میزارم.

vcldeveloper
سه شنبه 18 فروردین 1388, 08:54 صبح
خب، لینک را پیدا کردم، ظاهرا مربوط به TortoiseSVN بود، نه خودِ SubVersion. ولی از اونجایی که TortoiseSVN در راهنمای خودش راهنمای Subversion رو هم داره، و از طرف دیگه پراستفاده ترین کلاینت Subversion هست، مشارکت در ترجمه رابط کاربر آن، یا راهنمای آن میتونه کمک بسیار زیادی به افرادی که از Subversion استفاده می کنند، بکنه.
لینک صفحه ترجمه ها، حاوی راهنمای چگونگی انجام ترجمه:
http://tortoisesvn.net/translate

لینک پیشرفت ترجمه رابط کاربر:
http://tortoisesvn.net/translation_devel_gui

لینک پیشرفت ترجمه راهنمای نرم افزار:
http://tortoisesvn.net/translation_devel_doc

همانطور که در لینک بالا قابل مشاهده هست، ترجمه فارسی وضعیت مناسبی نسبت به سایر ترجمه ها نداره!

Developer Programmer
جمعه 28 فروردین 1388, 10:09 صبح
من مقاله وحید نصیری رو به طور گذرا خوندم و بسته های Visual SVN server , Visual SVN Client و TortoiseSVN رو نصب کردم.
به هنگام نصب Visual SVN Server تنظیمات کاربری رو روی Windows auth گذاشتم. آدرس E:\Respositories رو معرفی کردم و الان آدرس http://afshin-pc:8080/svn/ (http://barnamenevis.org/forum/#) رو نشون میده منتها هر بار پنجره ای باز میشه که کلمه رمز میخواد و من همون رمز ویندوز خودم رو میدم ولی قبول نمیکنه.
ضمن اینکه اونطور که وحید نصیری نوشته بود. هربار که میخوایم مخزنی رو معرفی کنیم؛ روی فولدر مربوطه رایت کلیک میکنیم و اون رو مخزن معرفی میکنیم و بعد فایلها رو بهش اضافه میکنیم.... این روند در Visual SVN Server چطوریه؟ دوباره باید Create New Repos رو بزنم؟ چطوری پروژه ای رو که میخوام مثلا با دلفی بنویسم رو بهش معرفی کنم؟ اگه ویندوز رو عوض کنم، باید همه این تنظیمات رو دوباره بهش معرفی کنم؟

anubis_ir
جمعه 28 فروردین 1388, 11:34 صبح
- به يوزر خودت در Visual SVN server دسترسي دادي؟
- نه. وابسته به نصب ويندوز نيست چون چيزي در رجيستري ويندوز ثبت نميشه و ديتابيس مستقل داره.

vcldeveloper
جمعه 28 فروردین 1388, 18:10 عصر
من مقاله وحید نصیری رو به طور گذرا خوندم و بسته های Visual SVN server , Visual SVN Client و TortoiseSVN رو نصب کردم. ببین، بطور کلی، برای استفاده از Repository دیگران، یا استفاده از SVN بصورت Local، در صورت نصب TortoiseSVN، نیازی به نصب VisualSVN نداری.

TortoiseSVN خودش میتونه به یک Repository موجود وصل بشه، یا برات Repository جدید بسازه، یا Repository ات را مدیریت کنه.

VisualSVN ترکیب SVN + Apache را روی سیستمت نصب میکنه. در این حالت، میتونی یک سرویس SVN داشته باشی، با تعدادی Repository که کاربر میتونه از طریق رابط وب ارائه شده توسط SVN، که از طریق Apache در دسترس کاربر قرار میگیره، به آنها متصل بشه.
VisualSVN یک رابط کاربر تحت MMC هم در ویندوز بهت میده که بتونی به راحتی SVN و Apache را Start\Stop کنی، Repository جدید بسازی، یا Repositoryهای موجود را حذف کنی.

برای ساخت Repository توسط TortoiseSVN، فقط کافیه یک پوشه خالی درست کنی، روی آن راست-کلیک کنی، و گزینه Create repository here را کلیک کنی.

برای ساخت Repository در VisualSVN، باید رابط کاربر تحت MMC آن را باز کنی، در کادر سمت چپ، لیست Repositoryهای موجود را نمایش میده، روی Repositories راست-کلیک کن، و گزینه Create new repository را انتخاب کن. دقت کن که VisualSVN همه Repositoryها را در داخل پوشه ایی که به عنوان محل ذخیره Repositoryها براش در هنگام نصب مشخص کردی، ایجاد میکنه، نه هر جایی که دلت خواست.

خوبی VisualSVN برای ساخت و مدیریت Repositoryها در این هست که:
1- در هنگام ساخت Repository، میتونی بهش بگی که پوشه های trunk, branches, tags را برات بسازه.
2- میتونی سطح دسترسی ها را از طریق رابط گرافیکی آن تنظیم کنی.
3- همه Repositoryها در یک جای مشخص نگهداری میشند.

بعد از ساخت Repository، چه بوسیله TortoiseSVN، چه VisualSVN؛ میتونی یک پوشه خالی در هر سیستمی که به این Repository دسترسی داره، یا در همان سیستمی که Repository در آن قرار داره، ایجاد کنی، و روی آن راست کلیک کنی، و گزینه SVN Checkout را انتخاب کنی. آدرس Repository را بهش میدی، و از آن به بعد، آن پوشه یک Working Copy از آن Repository خواهد بود. هر تغییری که در محتوای پوشه اعمال کنی را می توانی با استفاده از SVN Commit در Repository ثبت کنی.
برای آدرس Repository هم، اگر VisualSVN در حال اجرا هست، میتونی آدرس را بصورت یک URL که VisualSVN بهت میده، بدی. اگر VisualSVN فعال نیست، یا میخوای بصورت Local به Repository وصل بشی (نه از طریق وب سرور)، میتونی آدرس پوشه ایی که Repository در آن ذخیره شده را بهش بدی. مثلا:

file:///C:/Repositories/MyProject/

موفق باشی

Developer Programmer
جمعه 28 فروردین 1388, 21:02 عصر
عجب این مبحث SVN دشواره.
همه چیز رو پاک کردم و از اول شروع کردم.

-تنظیمات کاربری Visual SVN روی خود SVN تنظیم کردم. بعد از نصب، یک گروه به اسم LAN تعریف کردم و کاربر Afshin رو عضو این گروه کردم.
-یک پوشه به اسم E:\Repositories رو به عنوان مخزن اصلی، ساختم.
-دسترسی Afshin رو به این پوشه read\write کردم.
-یه پروژه رو که از قبل در مسیر E:\Source\C#\TestDB رو داشتم رو انتخاب کردم و با right click اون رو Check out کردم.
-برخی از فایلهای مسیر مذکور رو بهش معرفی کردم.
-Commit کردم.
-همونطور که در شکل هم دیده میشه TestDB به Appication در VisualSVN اضافه شد.

مشکل :

اول اینکه همچنان وقتی در VisualSVN ، گزینه Browse رو انتخاب میکنم رمز میخواد و هرچی Afshin:123456 رو میزنم بازهم قبول نمیکنه. ( موقع نصب، Https رو انتخاب نکرده بودم)

دوم اینکه وقتی در داخل محیط ویژوال استادیو، از افزونه Visual SVN گزینه Repo Browser رو میزنم و مسیر file:///E:/Repositories/Application1/trunk/TestDB.sln رو میدم ، پروژه رو باز نمیکنه. یعنی مجبورم کما فی السابق از Open پروژه رو باز و کار کنم.

نتیجه:
در هر دو حالت لوکال و شبکه، نمیتونم پروژه رو باز کنم.

Developer Programmer
شنبه 29 فروردین 1388, 00:31 صبح
اوه بالاخره به هر جون کندنی بود رام شد.


میتونی یک پوشه خالی در هر سیستمی که به این Repository دسترسی داره،
من نتونستم اونطوری که گفتی، از پوشه خالی استفاده کنم. همونطور که گفتم به پوشه ای که پروژه ام اونجاست میرم و با کلیک راست، Check out اش میکنم.

منتها هنوز هم نتونستم، پروژه رو مستقیما از مخزن باز کنم، و هر بار از طریق Open، به روش سنتی، پروژه رو باز میکنم؛ حالا نمیدونم اینکار در لوکال/شبکه درسته یا نه
ضمنا نتونستم با محیط Delphi 7 سازگارش کنم.

vcldeveloper
شنبه 29 فروردین 1388, 00:56 صبح
منتها هنوز هم نتونستم، پروژه رو مستقیما از مخزن باز کنم، و هر بار از طریق Open، به روش سنتی، پروژه رو باز میکنم؛
متوجه نشدم منظورت از روش سنتی با Open چی هست.


ضمنا نتونستم با محیط Delphi 7 سازگارش کنم.
چی رو سازگار کنی؟ TortoiseSVN؟ برای TortoiseSVN میتونی دنبال کامپوننت اوپن سورس TSVNWizard بگردی، و آن را در IDE دلفی نصب کنی.

Developer Programmer
شنبه 29 فروردین 1388, 02:11 صبح
متوجه نشدم منظورت از روش سنتی با Open چی هست.ببین، از اونجایی که من در حالت لوکال کار میکنم. آدرس مخزن و آدرس پروژه رو میدونم. Visual Stduio رو باز میکنم و به پوشه ای که پروژه ام اونجاست میرم و فایل پروژه رو Open میکنم( مثل همیشه)

- در حالتی که پروژه قراره از روی مخزن موجود در شبکه، خونده بشه باید چیکار کرد ؟
- Checkout directory در حالتی که از روی شبکه استفاده میشه، به چی اشاره میکنه؟ آدرس پروژه موجود در کامپیوتر من یا آدرس پروژه موجود در Server ؟

vcldeveloper
شنبه 29 فروردین 1388, 02:57 صبح
در حالتی که پروژه قراره از روی مخزن موجود در شبکه، خونده بشه باید چیکار کرد ؟
پروژه هیچ وقت از روی مخزن خوانده نمیشه. همیشه فایل های مربوطه را از مخزن به پوشه مورد نظرت در کلاینت Chech out میکنی، و بعد از اون فقط با فایل هایی که در اون پوشه داری کار میکنی.
هر وقت خواستی تغییراتت را در مخزن ثبت کنی، Commit میکنی.
هر وقت خواستی تغییری را برگردانی به حالت قبل، Revert میکنی.
هر وقت خواستی ببینی در این مدت فایل های موجود در مخزن با کپی تو چه فرقی دارند، و فایل هایی که خودت تغییر ندادی با نسخه موجود در مخزن بروز بشند، از Update استفاده میکنی.

Developer Programmer
شنبه 29 فروردین 1388, 09:50 صبح
همیشه فایل های مربوطه را از مخزن به پوشه مورد نظرت در کلاینت Chech out میکنی، و بعد از اون فقط با فایل هایی که در اون پوشه داری کار میکنی.
پس یعنی، یک کپی اولیه از پروژه رو روی کلاینت می ریزن یا یه پوشه خالی رو checkout میکنن؟
اگه حالت دوم درست باشه، فقط یکسری فایلهای مربوط به svn درون پوشه ریخته میشه، اونوقت چطور میشه پروژه رو در محیط IDE باز کرد؟

- من به ازای هر پروژه یه مخزن با سه پوشه trunk , tag, branch باز میکنم. این کار درسته یا باید همه پروژه ها از یک trunk استفاده کنن؟

vcldeveloper
شنبه 29 فروردین 1388, 10:25 صبح
ببین اساس کار اینگونه برنامه ها به این صورت هست که کاربر ابتدا یک کپی از فایل های مورد نیازش را از مخزن دریافت میکنه، سپس با این فایل ها کار میکنه، آنها را ویرایش میکنه، و در نهایت، تغییراتش را بر روی مخزن اعمال میکنه. نرم افزار هم اطلاعات مربوط به اینکه چه فایلی توسط چه فردی تغییر کرده، و این تغییرات چی بوده را ثبت میکنه. به این ترتیب، تغییراتی که چند کاربر بر روی یک سورس ایجاد می کنند، با هم تداخل پیدا نمیکنه، و هر زمان هم لازم بود، میشه تغییرات یک کاربر بر روی سورس را لغو کرد.

وقتی تو یک پوشه خالی روی کامپیوتر کلاینت درست میکنی، و بر روی آن پوشه Check out میکنی؛ یعنی داری به SVN میگی که یک کپی از آخرین نسخه موجود از فایل های موجود در مخزن را به این پوشه کپی کند. به این پوشه در اصطلاح Working Copy گفته میشه.
بعد از اینکه فایل ها به آن پوشه کپی شدند، تو میتونی با آنها مثل هر فایل دیگه ایی کار کنی، مثلا فایل ها را در IDE دلخواهت باز کنی، ویرایش کنی، کامپایل کنی، حذف کنی، و غیره. در زمانی که این کارها را انجام میدی، TortoiseSVN با تغییر آیکن های فایل های این پوشه، بهت نشان میده که چه فایل هایی تغییر کردند، یا چه فایل هایی تغییر نکردند.
هر کاربر میتونه هر زمان که مایل بود، تغییراتش را در مخزن با استفاده از Commit ثبت کنه. وقتی Commit میکنی، تغییراتت در فایل ها به مخزن ارسال میشند. SVN تغییرات را بررسی میکنه، اگر با تغییراتی که سایر کاربران در مخزن دادند، تداخل داشته باشه، بهت پیغام میده، مثلا اگر تو یک سورس را ویرایش کنی، و کاربر دیگه ایی هم همان بخش از همان سورس را ویرایش کرده باشه، SVN بهت پیغام میده که در مدتی که تو مشغول ویرایش این بخش از فایل بودی، کاربر دیگه ایی هم این بخش از فایل را تغییر داده، و تو میتونی با مشاهده تغییرات آن کاربر، تصمیم بگیری که آیا تغییراتت را ثبت کنی یا نه. هر زمان که Commit با موفقیت انجام بشه، یک Revision Number بهت داده میشه. با استفاده از این شماره، میتونی هر وقت خواستی، فایل های موجود در Working Copy ات را به زمان قبل برگردانی.

پس در واقع کل کاری که تو انجام میدی این هست:
1- Checkout فایل های مخزن به Working Copy در سیستم کلاینت.
2- کار بر روی فایل های موجود در Working Copy بطور عادی.
3- ثبت تغییرات در مخزن توسط Commit.
4- تکرار مراحل 2 و 3.

Developer Programmer
شنبه 29 فروردین 1388, 10:30 صبح
اوه بالاخره از این لینک پیداش کردم !

وقتی آدرس، مخزن رو میدی لازم نیست بدونی، پروژه در چه مسیری در سرور ذخیره شده(checkout directory)؛ خودش فایلهای پروژه رو میخونه و بر اساس آخرین تغییرات، به کلاینت کپی میکنه .

مرسی علی،
http://dependability.cs.virginia.edu/wiki/images/Tortoise_Checkout_step_1.png
http://dependability.cs.virginia.edu/wiki/images/Tortoise_Checkout_step_2.png
http://dependability.cs.virginia.edu/wiki/images/Tortoise_Update_step_1.png

vcldeveloper
شنبه 29 فروردین 1388, 10:35 صبح
من به ازای هر پروژه یه مخزن با سه پوشه trunk , tag, branch باز میکنم. این کار درسته یا باید همه پروژه ها از یک trunk استفاده کنن؟
این بستگی به خودت داره. هر کس میتونی ساختار مخزن خودش را داشته باشه. SVN پیشنهاد میکنه که هر مخزن به سه شاخه trunk، branches, و tag تقسیم بشه.
تو ممکن هست یک مخزن بزرگ داشته باشی که این سه پوشه را داره، و در داخل پوشه trunk آن هم تعدادی پروژه داشته باشی که هر کدام trunk, branches, tags خودشان را داشته باشند، یا چند مخزن کوچک داشته باشی که هر کدام مربوط به یک پروژه باشند.

پوشه trunk شاخه اصلی مخزن هست که سورس هایت را در آن نگهداری میکنی.
branches مربوط به بخش های فرعی پروژه ات هست، مثلا فرض کن یک پروژه ANSI در trunk داری، و تصمیم داری آن را یونیکد کنی. میتونی یک branch از آن بگیری، و در حالی که سایر کاربران تغییراتشان در سورس کد را در trunk ثبت می کنند، تو در شاخه ایی که ایجاد کردی، به تبدیل ANSI به یونیکد بپردازی.
سورس های موجود در شاخه ها را میشه بعدا با شاخه اصلی Merge کرد.
tags یک پوشه خاص هست. در این پوشه عملا فایلی ذخیره نمیشه، بلکه بیشتر حالت بوک مارک داره. مثلا تو اولین نسخه برنامه ات را منتشر میکنی، میخوای Revision آن را جایی نگهداری کنی، میتونی Revision مربوط به آن را در trunk پیدا کنی، یک پوشه جدید در tags درست کنی (مثلا Version1)، و فایل های این Revision را در آن پوشه کپی کنی. در این صورت، هر وقت لازم شد دقیقا به سورس های استفاده شده در نسخه 1 نرم افزار دسترسی داشته باشی، لازم نیست توی Revision های trunk بگردی، مستقیما میای سراغ tags، و پوشه مربوط به Version1 را در سیستمت Check out میکنی. دقت کن که tags فایل ها را از trunk به پوشه Version1 کپی نمیکنه، بلکه فقط برات بوک مارک میکنه.

Developer Programmer
پنج شنبه 21 خرداد 1388, 22:17 عصر
علی جان، امروز بعد از مدتها لازم شد تا دوباره SVN رو به همراه متعلقاتش نصب کنم.

من اینطور عمل کردم...
TortoiseSVN-1.6.2.1634 (1 رو نصب کردم
VisualSVN-Server-1.7.2.ms (2 رو نصب و یه کاربر به نام Afshin و رمز 1 ساختم.
3) داخل Visual SVN ، رایت کلیک کردم و یه مخزن با نام scnner ساختم.
(http://afshin-pc:8080/svn/scnner)
4) به فولدری که پروژه ام اونجا بوده و میخواستم SVN اونرو تحت کنترل بگیره رفتم و روش رایت کلیک کردم و Checkout کردم.
5) در قسمت URL of repoistory


http://afshin-pc:8080/svn/scnner/trunk

و در قسمت Checkout directory


E:\Source\C#\Scanner\scnner

رو آورد و از اونجایی که یادم نمیاد قبلا چیکار میکردم، OK رو زدم.( دقت کن که Scnner رو خودش به آخر مسیر پروژه اضافه کرده)
6) الان داخل فولدر پروژه ، یه پوشه جدیدی ساخته با نام Scnner که یه علامته سبز رنگه تیکه...) روی اون فولدر رایت کلیک میکنم و SVN Update و SVN Commit رو میزنم ، اما در صفحه جدیدی که باز میشه عبارت


No files were changed or added since the last commit

رو نوشته و واسه همین ، نمیتونم Commit کنم... لطفا بگو کجا رو اشتباه کردم...

vcldeveloper
جمعه 22 خرداد 1388, 20:24 عصر
خب وقتی پوشه تیک سبز داره، یعنی تغییری درش اعمال نشده. وقتی تغییری اعمال نشده، Commit هم کار نمیکنه و پیام بالا را میده.

Developer Programmer
چهارشنبه 10 تیر 1388, 20:35 عصر
علی جان؛ Backup گیری از مخزن و فایلها چطوره ؟ من نمیتونم مدیر پروژه رو متقاعد به استفاده اش کنم. ادعا میکنه که کلی فایلها و فولدرهای مخفی و اضافی بهش اضافه شدن....

چطور میشه پروژه رو به طور خالص و بدون فایلهای اضافی SVN کپی برداشت ؟

vcldeveloper
پنج شنبه 11 تیر 1388, 03:22 صبح
ساده ترین راه Backup گیری از مخزن، اگر تعداد کاربران زیاد نیست، و در یک زمان خاص مطمئن هستی که هیچ کاربری به مخزن وصل نیست، کپی پوشه مخزن به محل مورد نظرت برای Backup هست. اما اگر نمی تونی از متصل نبودن کاربران به مخزن مطمئن بشی، خودِ Subversion راهکاری برای Backup ارائه میده که در Helpاش به تفصیل توضیح داده.

اگر منظورت این هست که یک سری فایل در Working Copy داری که میخوای آنها را بدون اینکه مجبور باشی فایل های اضافی svn را منتقل کنی، به فرد دیگه ایی بدی؛ برو به داخل پوشه Working Copy، و راست کلیک کن، و گزینه Export را انتخاب کن. با این کار، TortoiseSVN ازت اسم پوشه مقصد را میپرسه. آدرس یک پوشه را بهش بده، تا فایل های پروژه - منهای فایل های SVN - را در آن پوشه برات کپی کنه.

Developer Programmer
پنج شنبه 18 شهریور 1389, 14:11 عصر
علی جان

ا این کار، TortoiseSVN ازت اسم پوشه مقصد را میپرسه. آدرس یک پوشه را بهش بده، تا فایل های پروژه - منهای فایل های SVN - را در آن پوشه برات کپی کنه.
گاهی لازم میشه که من فولدر پروژه رو کپی کنم و بیارم خونه. در اینجور مواقع که فولدرهای SVN هم کنارش هست، نمیتونم پروژه رو به کامپیوتر شخصی معرفی کنم. چون آدرسها و کاربران متفاوتن.
حتما باید فولدرهای SVN رو حذف کنم ؟

راستی واسه مواقعی که چند نفر سهوا روی یک فایل کار میکنن و تولید Conflict میشه، چه پیشنهادی واسه رفع conflict ها داری؟ (من یکبار مجبور شدم، پروژه رو از روی یکی از کلاینتها پاک کنم و دوباره Import کنم. چون Conflict رفع نمی شد)

vcldeveloper
شنبه 20 شهریور 1389, 00:11 صبح
گاهی لازم میشه که من فولدر پروژه رو کپی کنم و بیارم خونه. در اینجور مواقع که فولدرهای SVN هم کنارش هست، نمیتونم پروژه رو به کامپیوتر شخصی معرفی کنم. چون آدرسها و کاربران متفاوتن.
حتما باید فولدرهای SVN رو حذف کنم ؟
توی خونه هم به SVN وصل هستی؟ اگر بله، بهتره که به جای انتقال فایل ها، پوشه مربوطه در کامپیوتر خانه ات را که یک Working Folder برای SVN محسوب میشه، SVN Update کنی، تا آخرین تغییرات اعمال شده روی اون پوشه رو از سرور بگیری و روی آن کار کنی.


اگر فایل هایی رو در یک Working Folder در محل کار تغییر دادی و Commit نکردی، و میخوای با همون در Working Folder خانه کار کنی، میتونی فقط فایل های سورس مربوطه (بدون پوشه SVN) را در محل Working Folder خانه ات کپی کنی.


راستی واسه مواقعی که چند نفر سهوا روی یک فایل کار میکنن و تولید Conflict میشه، چه پیشنهادی واسه رفع conflict ها داری؟ (من یکبار مجبور شدم، پروژه رو از روی یکی از کلاینتها پاک کنم و دوباره Import کنم. چون Conflict رفع نمی شد)
بستگی داره؛ به نظرم بهتره افرادی که روی یک فایل مشترک کار می کنند، روی بخش های مختلف اون فایل کار کنند، و با هم روی یک بخش مشترک از فایل کار نکنند. اگر لازم هست که بعضی مواقع فردی بخشی از یک فایل را تغییر بده که ممکنه توسط فرد دیگه ایی تغییر داده بشه، و Conflict ایجاد بشه؛ بهتره که برای انجام اون تغییر خاص، فایل Lock بشه، تغییر مربوطه به سرعت اعمال بشه، و بلافاصله بعد از انجام تغییر، فایل Unlock بشه. اینطوری Conflict ها کاهش پیدا میکنه، ولی اگر این تغییرات در بخش های مشترک فایل زیاد باشه، و فایل زیاد Lock/Unlock بشه، اعصاب کاربران خرد میشه!

Developer Programmer
شنبه 20 شهریور 1389, 00:21 صبح
توی خونه هم به SVN وصل هستی؟ اگر بله، بهتره که به جای انتقال فایل ها، پوشه مربوطه در کامپیوتر خانه ات را که یک Working Folder برای SVN محسوب میشه، SVN Update کنی، تا آخرین تغییرات اعمال شده روی اون پوشه رو از سرور بگیری و روی آن کار کنیVisual SVN و Visual SVN Server رو به همراه متعلقاتشون مثل TortoiseSVN روی کامپیوتر شخصی نصب کردم.
دیروز کل پروژه رو کپی گرفتم و آوردم خونه. توسط Visual SVN Server یه مخزن جدید با پوشه های Trunk , ... ایجاد کردم. حالا نوبت رسید به معرفی فولدر پروژه به Visual SVN Server ،
من واسه اینکار، یا با رایت کلیک بر روی فولدر Checkout میکنم یا از درون Visual Studio گزینه Add to subversion رو انتخاب میکنم... منتها در هر دو روش، مرتبا کادری باز میکرد که کامپیوتر Tahlil-2 (اسم کامپیوتری که در شرکت، سورس کنترلش روش نصبه) رو پیدا نمی کنم.

یه سئوال دیگه، اگه احیانا ویندوز رو عوض کردیم و خواستیم مخزن قبلی رو دوباره معرفی کنیم. باید چیکار کنیم؟ به پروژه که دست نمیزنیم؟

vcldeveloper
شنبه 20 شهریور 1389, 00:38 صبح
Visual SVN و Visual SVN Server رو به همراه متعلقاتشون مثل TortoiseSVN روی کامپیوتر شخصی نصب کردم.
دیروز کل پروژه رو کپی گرفتم و آوردم خونه. توسط Visual SVN Server یه مخزن جدید با پوشه های Trunk , ... ایجاد کردم. حالا نوبت رسید به معرفی فولدر پروژه به Visual SVN Server ،
من واسه اینکار، یا با رایت کلیک بر روی فولدر Checkout میکنم یا از درون Visual Studio گزینه Add to subversion رو انتخاب میکنم... منتها در هر دو روش، مرتبا کادری باز میکرد که کامپیوتر Tahlil-2 (اسم کامپیوتری که در شرکت، سورس کنترلش روش نصبه) رو پیدا نمی کنم.
شما دو حالت دارید، یا به کل پوشه مربوط به اون Repository دسترسی دارید، و می تونید کل آن را کپی بگیرید، یا اینکه به Repository دسترسی ندارید، و فقط به فایل های پروژه در Working Folder دسترسی دارید.

اگر به Repository دسترسی دارید، کافیه کل Repository رو کپی کنید، و در خانه آن را به عنوان یک Repository به Visual SVN Server بدید.

اگر به کل Repository دسترسی ندارید، از طریق SVN، کل پوشه مربوط به پروژه مورد نظر را از داخل Repository به داخل یک پوشه Export کنید، سپس در خانه، یک Repository جدید ایجاد کنید، و آن را در یک پوشه Check out کنید (در این صورت چون Repository تازه ایجاد شده و چیزی درش نیست، فقط پوشه .svn در داخل اون پوشه ایجاد میشه)، سپس فایل های Export شده پروژه را به این پوشه جدید منتقل کنید، و Add کنید، نهایتا هم Commit کنید. این کار باعث میشه که اون فایل های پروژه به داخل اون Repository جدید در خانه منتقل بشند. البته در این روش، فقط آخرین Revision اون پروژه به Repository جدید منتقل میشه، ولی در شیوه اول، چون کل Repository منتقل شده، کل Revision ها هم باهاش هستند.

Developer Programmer
شنبه 20 شهریور 1389, 01:01 صبح
اگر به Repository دسترسی دارید، کافیه کل Repository رو کپی کنید، و در خانه آن را به عنوان یک Repository به Visual SVN Server بدید.اوه پس اشتباه کردم که از کامپیوتر Server، فولدر پروژه رو کپی کردم . باید شاخه respo رو کپی میکردم و در منزل اون رو به Visual SVN Server میدادم.

لطفا نحوه معرفی مخزن موجود رو هم از طریق visual svn و هم از طریق TortoiseSVN یاد بده.

vcldeveloper
شنبه 20 شهریور 1389, 16:06 عصر
لطفا نحوه معرفی مخزن موجود رو هم از طریق visual svn و هم از طریق TortoiseSVN یاد بده.
کار خاصی لازم نیست انجام بدی، پوشه مربوط به اون Repository رو در داخل یک پوشه دیگه در کامپیوتر خانه ات کپی کن؛ در هنگام نصب Visual SVN Server، ازت درباره محل ذخیره سازی Repositoryها سوال میکنه، آدرس همون پوشه رو بهش بده. مثلا اگر اسم پوشه Repository ات MyWrokRepos هست، و آن را در پوشه ایی به نام MyLocalStorage روی کامپیوترت کپی کردی، مسیر MyLocalStorage را بهش بده.

بعد از نصب، وقتی به کنسول مدیریتی Visual SVN Server بری، می بینی که اون Repository به طور خودکار در لیست Repository ها درج شده. حالا میتونه با دادن آدرسش به TortoiseSVN، محتوای آن را به هر پوشه ایی که به عنوان Working Copy تعیین میکنی، Check out کنی، و باهاش کار کنی.

ad.davachi
سه شنبه 31 اردیبهشت 1392, 13:48 عصر
یه سوالی من همه کارهایی که لازم بود رو روی سرور انجام دادم الان کلاینتها چطوری ازش استفاده کنن؟