| jj-converge(1) | General Commands Manual | jj-converge(1) |
نام (NAME)
jj-converge - همگرا کردن تغییرات واگرا
خلاصه دستور (SYNOPSIS)
jj converge [-r|--revision] [-R|--repository] [--ignore-working-copy] [--no-interactive] [--no-integrate-operation] [--ignore-immutable] [--at-operation] [--debug] [--color] [--quiet] [--no-pager] [--config] [--config-file] [-h|--help]
توضیحات (DESCRIPTION)
همگرا کردن تغییرات واگرا
تلاش میکند تا واگرایی را با جایگزین کردن دو یا چند بازنگری قابل مشاهده برای یک تغییر معین با یک بازنگری واحد برطرف کند. jj converge مجموعه بازنگریهای (revsets) دادهشده توسط آرگومان --revision (یا تنظیمات revsets.converge در صورت عدم تعیین) را ارزیابی کرده و بازنگریهای حاصل را بر اساس شناسهٔ تغییر (change ID) گروهبندی میکند. شناسههای تغییری که بیش از یک بازنگری داشته باشند واگرا هستند.
اگر واگرایی وجود نداشته باشد، با موفقیت برمیگردد. اگر بیش از یک تغییر واگرا وجود داشته باشد، از کاربر میخواهد یکی را انتخاب کند. سپس دستور از روشهای اکتشافی (heuristics) برای دستیابی خودکار به یک راهحل مناسب (یعنی یک بازنگری جدید) استفاده میکند که جایگزین بازنگریهای واگرا شود. اگر روشهای اکتشافی به نتیجهٔ قطعی نرسند، jj converge مجدداً از کاربر درخواست تصمیمگیری میکند. برای چاپ یک هشدار بهجای پرسش از کاربر، از --no-interactive استفاده کنید.
ممکن است از کاربر برای هر یک از موارد زیر سؤال شود: ادغام توضیحات بازنگری، انتخاب والدین برای راهحل، و/یا (بسیار بهندرت) انتخاب پدیدآورندهٔ بازنگری.
هنگامی که یک راهحل پیدا شود، بازنگری جدید جایگزین بازنگریهای واگرای شناسهٔ تغییر خاص میشود (اما فقط مواردی که با مجموعه بازنگریها مطابقت دارند؛ اگر بازنگریهای قابل مشاهدهٔ دیگری برای همان شناسهٔ تغییر در خارج از مجموعه بازنگری وجود داشته باشد، آنها باقی خواهند ماند و شما همچنان واگرایی خواهید داشت، هرچند که کاهش مییابد). نوادگانِ بازنگریهای واگرا بر روی راهحل بازپایهریزی میشوند، و بوکمارکهای محلی که به هر بازنگری واگرا اشاره دارند بهروزرسانی میشوند تا به راهحل اشاره کنند.
توجه داشته باشید که ممکن است در راهحل تداخلهای فایلی وجود داشته باشد، چه از ابتدا تداخلی وجود داشته باشد چه نداشته باشد.
تغییرات اعمالشده توسط jj converge را میتوان با jj op show -p بررسی کرد. شما میتوانید روند تکامل تغییر را با jj evolog بررسی کنید. در صورت عدم رضایت از نتیجه میتوانید jj undo را اجرا نمایید.
گزینهها (OPTIONS)
- -r, --revision <REVSETS>
- فضای جستجو
برای یافتن
بازنگریهای
واگرا
اگر هیچ بازنگری مشخص نشده باشد، بهطور پیشفرض از تنظیمات revsets.converge استفاده میشود.
- --no-interactive
- عدم نمایش
اعلان به
کاربر برای
کمک به
برطرف کردن
واگرایی
اگر دستور نتواند واگرایی را بهصورت خودکار برطرف کند، هشداری چاپ کرده و بدون اعمال هرگونه تغییر خارج میشود (واگرایی همچنان باقی خواهد ماند).
- -h, --help
- چاپ راهنما (مشاهده خلاصه با '-h')
گزینههای عمومی (GLOBAL OPTIONS)
- -R, --repository <REPOSITORY>
- مسیر مخزنی
که عملیات
روی آن
انجام
میشود.
بهطور پیشفرض، Jujutsu به دنبال نزدیکترین دایرکتوری .jj در اجداد دایرکتوری کاری فعلی میگردد.
- --ignore-working-copy
- از رونوشت
کاری (working copy)
اسنپشات
گرفته نشود
و آن را
بهروزرسانی
نکند.
بهطور پیشفرض، Jujutsu در آغاز هر دستور از رونوشت کاری اسنپشات میگیرد. همچنین در صورت تغییر کامیت رونوشت کاری (`@`) توسط دستور، رونوشت کاری در پایان دستور نیز بهروزرسانی میشود. اگر میخواهید از اسنپشات گرفتن از رونوشت کاری جلوگیری کنید و در عوض یک کامیت رونوشت کاری احتمالا قدیمی را ببینید، میتوانید از --ignore-working-copy استفاده کنید. این گزینه برای مثال در خط فرمان (command prompt) مفید است، بهویژه اگر فرآیند دیگری داشته باشید که کامیتهای رونوشت کاری را ثبت میکند.
بارگذاری مخزن در یک عملیات خاص با --at-operation بهطور ضمنی گزینهٔ --ignore-working-copy را فعال میکند.
- --no-integrate-operation
- دستور طبق
معمول اجرا
شود اما هیچ
عملیاتی
ادغام نشود.
هنگامی که این گزینه مشخص شود، عملیات همچنان مانند قبل ایجاد خواهند شد اما در تاریخچهٔ عملیات (operation log) ادغام نمیشوند. همچنین رونوشت کاری نیز بهروزرسانی نخواهد شد.
دستور، شناسهٔ عملیات حاصل را چاپ خواهد کرد. میتوانید آن شناسه را برای مثال به jj --at-op ارسال کنید تا وضعیت بهدستآمدهٔ مخزن را بررسی نمایید، یا آن را به jj op restore بدهید تا مخزن به آن وضعیت بازگردانده شود. همچنین میتوانید شناسه را به jj op integrate بدهید تا عملیات ادغام شود.
توجه داشته باشید که این کار مانع از عوارض جانبی خارج از مخزن *نمیشود*. برای نمونه، jj git push --no-integrate-operation همچنان عملیات ارسال (push) را انجام خواهد داد.
- --ignore-immutable
- امکان
بازنویسی
کامیتهای
تغییرناپذیر
(immutable) مجاز
باشد.
بهطور پیشفرض، Jujutsu از بازنویسی کامیتهایی که در مجموعه کامیتهای تغییرناپذیر پیکربندی شدهاند جلوگیری میکند. این گزینه آن بررسی را غیرفعال کرده و اجازه میدهد هر کامیتی بهجز کامیت ریشه (root commit) را بازنویسی کنید.
این گزینه تنها بر این بررسی تأثیر میگذارد و روی مجموعه بازنگری `immutable_heads()` یا کلمه کلیدی قالب `immutable` اثری ندارد.
- --at-operation <AT_OPERATION>
- عملیاتی که
مخزن باید
در نقطهٔ آن
بارگذاری
شود.
بهطور پیشفرض، Jujutsu مخزن را در تازهترین عملیات، یا در صورت وجود عملیاتهای واگرا، در نقطهٔ ادغام آنها بارگذاری میکند.
میتوانید از --at-op=<operation_ID> استفاده کنید تا ببینید مخزن در یک عملیات پیشین چگونه بوده است. برای نمونه jj --at-op=<operation_ID> st آنچه را که jj st در زمان پایان یافتن آن عملیات نشان میداد به شما نمایش میدهد. مقدار --at-op=@ تقریباً همانند حالت پیشفرض عمل میکند، با این تفاوت که عملیاتهای واگرا هرگز ادغام نخواهند شد.
از دستور jj op log برای یافتن شناسه عملیات مورد نظر خود استفاده کنید. هر پیشوند یکتایی از شناسه عملیات کافی خواهد بود.
هنگام بارگذاری مخزن در یک عملیات پیشین، رونوشت کاری نادیده گرفته میشود، درست همانطور که گویی گزینهٔ --ignore-working-copy مشخص شده است.
اجرای دستورات تغییردهنده (mutating) هنگام بارگذاری مخزن در یک عملیات پیشین امکانپذیر است. انجام این کار معادل اجرای همزمان دستورات از مبدأ آن عملیات پیشین است. بهندرت دلیلی برای انجام چنین کاری وجود دارد، اما ممکن است.
- --debug
- فعالسازی ثبت وقایع اشکالزدایی (debug logging)
- --color <WHEN>
- تعیین زمان
استفاده از
رنگ در
خروجی
مقادیر ممکن:
- always
- never
- debug
- auto
- --quiet
- بیصدا
کردن
خروجیهای
غیر اصلی
دستور
برای نمونه، jj file list همچنان فایلها را فهرست میکند، اما به شما نمیگوید که آیا از رونوشت کاری اسنپشات گرفته شده یا نوادگان بازپایهریزی شدهاند یا خیر.
هشدارها و خطاها همچنان چاپ خواهند شد.
- --no-pager
- غیرفعال کردن صفحهبندیکننده (pager)
- --config <NAME=VALUE>
- گزینههای
پیکربندی
اضافی
(قابلیت
تکرار دارد)
نام باید بهصورت کلیدهای نقطهدار TOML مشخص شود. مقدار باید بهصورت یک عبارت TOML تعیین شود. اگر مقدار رشتهای درون ساختارهای TOML (مانند نشانهگذاری آرایه) محصور نشده باشد، میتوان از علامتهای نقلقول صرفنظر کرد.
- --config-file <PATH>
- فایلهای پیکربندی اضافی (قابلیت تکرار دارد)
| converge |