HGIGNORE(5) راهنمای مرکوریال (Mercurial) HGIGNORE(5)

hgignore - نحو فایل‌های نادیده‌گیری مرکوریال (Mercurial)

سیستم مرکوریال از فایلی به نام .hgignore در شاخهٔ ریشهٔ یک مخزن استفاده می‌کند تا رفتار خود را هنگام جستجو برای فایل‌هایی که در حال حاضر ردیابی نمی‌شوند، کنترل کند.

شاخهٔ کاری (working directory) یک مخزن مرکوریال معمولاً شامل فایل‌هایی است که نباید توسط مرکوریال ردیابی شوند. این موارد شامل فایل‌های پشتیبان ایجادشده توسط ویرایشگرها و خروجی‌های ساخت ایجادشده توسط کامپایلرها می‌شوند. این فایل‌ها را می‌توان با فهرست کردن آن‌ها در یک فایل .hgignore در ریشهٔ شاخهٔ کاری نادیده گرفت. فایل .hgignore باید به صورت دستی ایجاد شود. این فایل معمولاً تحت کنترل نسخه قرار می‌گیرد تا تنظیمات آن با push و pull به سایر مخازن نیز منتقل شود.

یک فایل ردیابی‌نشده در صورتی نادیده گرفته می‌شود که مسیر آن نسبت به شاخهٔ ریشهٔ مخزن، یا هر پیشوندِ مسیری از آن، با الگویی در .hgignore مطابقت داشته باشد.

برای مثال، فرض کنید یک فایل ردیابی‌نشده به نام file.c در مسیر a/b/file.c درون مخزن داریم. مرکوریال در صورتی file.c را نادیده می‌گیرد که هر یک از الگوهای موجود در .hgignore با a/b/file.c، a/b یا a مطابقت پیدا کند.

علاوه بر این، یک فایل پیکربندی مرکوریال می‌تواند به مجموعه‌ای از فایل‌های نادیده‌گیری اختصاصی برای هر کاربر یا سراسری ارجاع دهد. برای جزئیات نحوهٔ پیکربندی این فایل‌ها، کلید پیکربندی ignore در بخش [ui] از hg help config را ببینید.

برای کنترل نحوهٔ رفتار مرکوریال با فایل‌هایی که مدیریت می‌کند، بسیاری از دستورها از گزینه‌های -I و -X پشتیبانی می‌کنند؛ برای جزئیات به hg help <command> و hg help patterns مراجعه کنید.

فایل‌هایی که از قبل ردیابی شده‌اند تحت تأثیر .hgignore قرار نمی‌گیرند، حتی اگر نام آن‌ها در .hgignore درج شده باشد. یک فایل ردیابی‌نشده مانند X را می‌توان با دستور hg add X به طور صریح اضافه کرد، حتی اگر X توسط الگویی در .hgignore مستثنی شده باشد.

یک فایل نادیده‌گیری، یک فایل متنی ساده شامل فهرستی از الگوها است که در هر خط یک الگو قرار می‌گیرد. خطوط خالی نادیده گرفته می‌شوند. نویسهٔ # به عنوان نویسهٔ توضیح و نویسهٔ \ به عنوان نویسهٔ گریز (escape) در نظر گرفته می‌شود.

مرکوریال از چندین نحو الگو پشتیبانی می‌کند. نحو پیش‌فرضی که استفاده می‌شود، عبارات باقاعده (regular expressions) به سبک Python/Perl است.

برای تغییر نحو مورد استفاده، از خطی با قالب زیر استفاده کنید:

syntax: NAME

که در آن NAME یکی از موارد زیر است:

عبارت باقاعده، نحو Python/Perl.

تطبیق الگو به سبک پوسته (Shell-style glob).

گونه‌ای از glob که ریشه‌دار است (در ادامه را ببینید).

نحو انتخاب‌شده هنگام پردازش تمام الگوهای بعدی معتبر باقی می‌ماند تا زمانی که نحو دیگری انتخاب شود.

نه الگوهای glob و نه الگوهای regexp ریشه‌دار نیستند. یک الگوی نحو glob به شکل *.c با فایلی که به .c ختم می‌شود در هر شاخه‌ای مطابقت خواهد داشت، و یک الگوی regexp به شکل \.c$ نیز همین کار را انجام می‌دهد. برای ریشه‌دار کردن یک الگوی regexp، آن را با ^ شروع کنید. برای دستیابی به همان نتیجه با نحو glob، باید از rootglob استفاده کنید.

زیرشاخه‌ها می‌توانند با افزودن subinclude:path/to/subdir/.hgignore به فایل .hgignore ریشه، تنظیمات .hgignore مختص به خود را داشته باشند. برای جزئیات در مورد subinclude: و include: به hg help patterns مراجعه کنید.

نکته (Note)
الگوهایی که در جایی غیر از .hgignore مشخص می‌شوند همیشه ریشه‌دار هستند. لطفاً برای جزئیات به hg help patterns مراجعه کنید.

در اینجا نمونه‌ای از یک فایل نادیده‌گیری آورده شده است:

# use glob syntax.
syntax: glob
*.elc
*.pyc
*~
# switch to regexp syntax.
syntax: regexp
^\.pc/

از دستور debugignore برای بررسی اینکه آیا یک فایل نادیده گرفته شده است و دلیل آن چیست، یا برای مشاهدهٔ الگوی ترکیبی نادیده‌گیری استفاده کنید. برای جزئیات به hg help debugignore مراجعه کنید.

Vadim Gelfer <vadim.gelfer@gmail.com>

مرکوریال توسط Olivia Mackall <olivia@selenic.com> نوشته شده است.

hg(1), hgrc(5)

حق نشر این صفحهٔ راهنما متعلق به Vadim Gelfer در سال 2006 است. حق نشر مرکوریال متعلق به Olivia Mackall در سال‌های 2005-2026 است. استفاده رایگان از این نرم‌افزار تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License) نسخه ۲ یا هر نسخهٔ بالاتر اعطا شده است.

Vadim Gelfer <vadim.gelfer@gmail.com>

سازمان: Mercurial