HG-IMPORT(1) صفحات راهنمای پارچ HG-IMPORT(1) نام (NAME) hg-import - ایمپورت یک یا چند پچ متنی به مخزن Mercurial خلاصه دستور (SYNOPSIS) hg import [OPTION]... PATCH... توضیحات (DESCRIPTION) ایمپورت فهرستی از پچ‌ها و ثبت (commit) جداگانه هر یک از آن‌ها (مگر اینکه --no-commit مشخص شده باشد). برای خواندن یک پچ از ورودی استاندارد (stdin)، از «-» به عنوان نام پچ استفاده کنید. اگر یک نشانی وب (URL) مشخص شده باشد، پچ از آنجا بارگیری خواهد شد. عملیات ایمپورت ابتدا تغییرات را روی دایرکتوری کاری اعمال می‌کند (مگر اینکه --bypass مشخص شده باشد)؛ در صورت وجود تغییرات ذخیره‌نشده، فرآیند ایمپورت متوقف خواهد شد. از --bypass برای اعمال و ثبت مستقیم پچ‌ها در مخزن، بدون دستکاری دایرکتوری کاری استفاده کنید. بدون --exact ، پچ‌ها بر روی بازبینی والد دایرکتوری کاری اعمال خواهند شد. می‌توانید یک پچ را مستقیماً از پیام ایمیل ایمپورت کنید. حتی پچ‌های پیوست‌شده نیز پشتیبانی می‌شوند (برای استفاده از بخش بدنه، نوع آن باید text/plain یا text/x-patch باشد). سرآیندهای From و Subject پیام ایمیل به عنوان ثبت‌کننده و پیام ثبت پیش‌فرض استفاده می‌شوند. تمام بخش‌های متنی text/plain بدنه پیش از اولین diff، به پیام ثبت افزوده می‌شوند. اگر پچ ایمپورت‌شده توسط دستور hg export ایجاد شده باشد، نام کاربر و توضیحات موجود در پچ بر مقادیر سرآیندها و بدنه پیام اولویت دارند. مقادیر داده‌شده در خط فرمان با -m/--message و -u/--user نیز بر تمام این مقادیر اولویت خواهند داشت. اگر --exact مشخص شده باشد، دستور import دایرکتوری کاری را پیش از اعمال هر پچ به والد آن بازبینی منتقل کرده و در صورتی که شناسه مجموعه تغییرات حاصل با شناسه ثبت‌شده در پچ متفاوت باشد، عملیات را لغو می‌کند. این کار در برابر مشکلات گوناگون قالب‌های پچ و سیستم‌های ایمیل در انتقال داده‌ها یا متادیتای مرکوریال محافظت می‌کند. برای انتقال بدون اتلاف اطلاعات، دستور hg bundle را ببینید. از --partial استفاده کنید تا مطمئن شوید حتی در صورت شکست اعمال برخی از بخش‌ها (hunks)، یک مجموعه تغییرات از پچ ساخته خواهد شد. بخش‌هایی که اعمال آن‌ها با شکست مواجه شود، در فایلی با نام .rej نوشته می‌شوند. سپس تعارض‌ها را می‌توان پیش از اجرای دستور hg commit --amend جهت به‌روزرسانی مجموعه تغییرات ایجادشده، به صورت دستی حل کرد. این گزینه برای این است که امکان ایمپورت پچ‌های ناقص بدون از دست رفتن متادیتای مربوطه (نویسنده، تاریخ، توضیحات و...) فراهم شود. نکته (Note) هنگامی که هیچ بخشی بدون خطا اعمال نشود، دستور hg import --partial یک مجموعه تغییرات خالی ایجاد کرده و فقط متادیتای پچ را ایمپورت می‌کند. با -s/--similarity ، مرکوریال تلاش می‌کند تغییر نام‌ها و کپی‌ها را در پچ مشابه دستور hg addremove شناسایی کند. با تنظیم گزینه پیکربندی ui.patch می‌توان از برنامه‌های پچ خارجی برای اعمال پچ استفاده کرد. برای ابزار داخلی پیش‌فرض، مقدار تقریب (fuzz) نیز از طریق patch.fuzz قابل تنظیم است. برای اطلاعات بیشتر درباره فایل‌های پیکربندی و نحوه استفاده از این گزینه‌ها، دستور hg help config را ببینید. برای فهرستی از قالب‌های معتبر برای -d/--date ، دستور hg help dates را ببینید. مثال‌ها (EXAMPLES) • ایمپورت یک پچ سنتی از یک وب‌سایت و تشخیص فایل‌های تغییر نام یافته: hg import -s 80 http://example.com/bugfix.patch • ایمپورت یک مجموعه تغییرات از سرور hgweb: hg import https://www.mercurial-scm.org/repo/hg/rev/5ca8c111e9aa • ایمپورت تمام پچ‌های موجود در یک فایل mbox یونیکسی: hg import incoming-patches.mbox • ایمپورت پچ‌ها از ورودی استاندارد (stdin): hg import - • تلاش برای بازیابی دقیق یک مجموعه تغییرات خروجی‌گرفته‌شده (همیشه امکان‌پذیر نیست): hg import --exact proposed-fix.patch • استفاده از ابزار خارجی برای اعمال پچی که برای ابزار داخلی پیش‌فرض بیش از حد غیردقیق است: hg import --config ui.patch="patch --merge" fuzzy.patch • تغییر مقدار پیش‌فرض تقریب (fuzz) از ۲ به مقدار ملایم‌تر ۷: hg import --config ui.fuzz=7 fuzz.patch در صورت موفقیت مقدار 0 و در صورت موفقیت نسبی مقدار 1 بازگردانده می‌شود (گزینه --partial را ببینید). گزینه‌ها (OPTIONS) -p,--strip  گزینه حذف پیشوند مسیر دایرکتوری‌ها برای پچ. این گزینه همان معنای گزینه متناظر در دستور patch را دارد (پیش‌فرض: 1). -b,--base  مسیر پایه (منسوخ‌شده) --secret استفاده از فاز مخفی (secret phase) برای ثبت تغییرات -e, --edit باز کردن ویرایشگر متن برای ویرایش پیام‌های ثبت -f, --force صرف‌نظر کردن از بررسی وجود تغییرات ثبت‌نشده و بلاتکلیف (منسوخ‌شده) --no-commit فقط به‌روزرسانی دایرکتوری کاری بدون ثبت (commit) تغییرات --bypass اعمال پچ بدون دستکاری دایرکتوری کاری --partial ثبت تغییرات حتی در صورت شکست در اعمال برخی بخش‌ها --exact لغو عملیات در صورت اعمال پچ همراه با اتلاف داده --prefix  اعمال پچ روی یک زیردایرکتوری --import-branch استفاده از هرگونه اطلاعات شاخه موجود در پچ (به همراه --exact به طور خودکار فعال است) -m,--message  استفاده از متن مشخص‌شده به عنوان پیام ثبت -l,--logfile  خواندن پیام ثبت از یک فایل -d,--date  ثبت تاریخ مشخص‌شده به عنوان تاریخ کامیت -u,--user  ثبت کاربر مشخص‌شده به عنوان ثبت‌کننده -s,--similarity  حدس زدن فایل‌های تغییر نام یافته بر اساس میزان شباهت (0<=s<=100) نام‌های مستعار (ALIASES) patch HG-IMPORT(1)