مطالب برچسب شده ‘svn’

مقایسه‌ی Git با Subversion

دوشنبه, 23 شهریور 1388

امروز بعد از مدتها یادم اومدم وبلاگ هم دارم. گفتم یه چیزی بنویسم تا اینجا از این وضع در بیاد.

توی شرکت داریم پروژه‌ها رو از svn به git سوئیچ می‌کنیم. دیدم بهانه‌ی خوبیه تا درباره‌ی git بنویسم.
از اونجایی که اکثر برنامه‌نویس‌ها با svn آشنایی دارن به جای نوشتن در مورد git به مقایسه‌ی git با svn می‌پردازم. اینجوری راحت‌تر می‌تونید تصمیم بگیرید که آیا نیازی به تغییر سیستم کنترل سورس فعلیتون به git هست یا نه.

این روزها سیستم‌های توزیع شده‌ی کنترل سورس (Distributed Version Control) کم کم دارن جای سیستم‌های کنترل سورس سنتی متمرکز (Centralized) مثل svn رو می‌گیرن. از جمله git یکی از این سیستم‌های کنترل سورس توزیع شده است که محبوبیت زیادی پیدا کرده.
قسمت عمده‌ای از تفاوت‌های git و svn برمی‌گرده به تفاوت مدل توزیع شده و مدل متمرکز، برای همین ابتدا این دو مدل رو توضیح میدم.
(دنباله…)

Keyword Substitution

دوشنبه, 6 آبان 1387

در 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