Keyword Substitution
در svn یک قابلیتی وجود داره که میتونه یکسری کلید واژه های خاص رو با متغییرهایی نظیر شماره revision و تاریخ ویرایش و … جایگزین کنه.
پرکاربردترین کلید واژه Id است که ترکیبی از سایر کلید واژه ها شامل نام فایل، شماره rev و تاریخ و مولف است.
برای مثال ممکن است قبلا چیزی شبیه خط زیر را در ابتدای فایلی دیده باشید :
$Id: calc.c 148 2006-07-28 21:30:43Z sally $
این همان قابلیت Keyword Substitution در svn است که عبارت $Id$ را با عبارت فوق جایگزین کرده است.
با استفاده از این قابلیت وقتی از پروژه export می گیرید در ابتدای هر فایل اطلاعات مولف ، تاریخ و شماره revision را دارید که ممکنه بعدها به دردتون بخوره.
و اما نحوه فعال کردن این قابلیت :
svn propset svn:keywords "Id" myfile.php
این دستور باعث میشه کلید واژه Id برای فایل myfile.php فعال بشه. و بنابراین هر جا در این فایل عبارت $Id$ قرار داشته باشه در هنگام کامیت با اطلاعات مربوطه جایگزین میشه و در کامیتهای بعدی هم به صورت خودکار آپدیت میشه.
در ضمن اگر از TortoiseSVN استفاده می کنید از منوی TortoiseSVN قسمت properties می توانید از این قابلیت استفاده کنید.
آپدیت : برای فعال کردن این قابلیت روی تمام فایل های php موجود در یک شاخه (و زیر شاخه های آن) به مسیر مورد نظر رفته و دستور زیر را اجرا کنید:
find -type f -name "*.php" -exec svn propset svn:keywords "Id" {} \;
برای حذف این قابلیت از روی یک فایل دستور زیر را اجرا کنید:
svn propdel svn:keywords myfile.php
برچسبها: svn
6 آبان 1387 در 1:26 ق.ظ
سلام
علی جان git خیلی سرتر از svn هستش. فقط همین بس که شخص لینوس تروالدز برای راحت merge کردن patch های لینوکس اون رو ساخته.
البته نمی شه svn رو به این زودی ها کنار گذاشت چون هنوز خیلی از پروژه ها بر اساس svn کنترل می شن. اما من شخصا اگه بخوام پروژه ای رو شروع کنم حتما از git استفاده می کنم.
7 آبان 1387 در 12:36 ب.ظ
درست میگی.
البته من خودم bzr رو ترجیح میدم. چون git ساپورت درست و درمونی (بدون cygwin) برای ویندوز نداره و نمیشه همه رو مجبور کرد از لینوکس استفاده کنند (مخصوصا گرافیست ها رو).
ولی درکل معماری توزیع شده نسبت به معماری کلاینت سرور مزایایی داره که اگر فرصت کنم در موردش مینویسم.
علی رقم مزایایی که داره هنوز اکثر پروژه ها از svn استفاده میکنند. یک دلیلش اینه که از قدیم روی svn بودند، نیازشون رو جواب میده و دلیلی برای سوئیچ کردن نمی بینند. دلیل دیگه هم اینه که sourceforge و google code از bzr و git پشتیبانی نمیکنند.
14 آبان 1387 در 12:58 ق.ظ
سلام آقا علی
این جوری که معلومه تقریبا مجبوریم از svn استفاده کنیم – تا راحت باشیم :d
راستی ممنون میشم این پروژه من رو ببینید و نظرتون رو بگید – http://www.flashbanneronline.com
بسیار مطالب خوبی دارید
در ضمن بنده به وبلاگ شما لینک دادم
موفق و پیروز باشید همیشه
20 آذر 1387 در 4:18 ق.ظ
ای ول! این سوال من هم بود.
ممنون