.ie \n(.g .ds Aq \(aq .el .ds Aq ' .TH jj-interdiff 1 "interdiff " .SH "نام (NAME)" jj-interdiff \- نمایش تفاوت‌های میان diffهای دو بازبینی .SH "خلاصه دستور (SYNOPSIS)" \fBjj interdiff\fR [\fB\-R\fR|\fB\-\-repository\fR] [\fB\-\-ignore\-working\-copy\fR] [\fB\-\-no\-integrate\-operation\fR] [\fB\-s\fR|\fB\-\-summary\fR] [\fB\-\-ignore\-immutable\fR] [\fB\-\-stat\fR] [\fB\-\-at\-operation\fR] [\fB\-\-types\fR] [\fB\-\-debug\fR] [\fB\-\-name\-only\fR] [\fB\-\-color\fR] [\fB\-\-git\fR] [\fB\-\-color\-words\fR] [\fB\-\-quiet\fR] [\fB\-\-no\-pager\fR] [\fB\-\-tool\fR] [\fB\-\-config\fR] [\fB\-\-context\fR] [\fB\-\-config\-file\fR] [\fB\-w\fR|\fB\-\-ignore\-all\-space\fR] [\fB\-b\fR|\fB\-\-ignore\-space\-change\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fB\-\-from\fR|\fB\-\-to\fR> [\fIFILESETS\fR] .SH "توضیحات (DESCRIPTION)" نمایش تفاوت‌های میان diffهای دو بازبینی .PP این دستور مشابه اجرای .B `jj diff \-r` روی هر تغییر و سپس مقایسهٔ آن نتایج است. به این پرسش پاسخ می‌دهد: «اصلاحات اعمال‌شده توسط بازبینی A چه تفاوتی با اصلاحات اعمال‌شده توسط بازبینی B دارند؟» .PP به‌عنوان مثال، اگر دو تغییر هر دو یک ویژگی را اضافه کنند اما آن را به شکلی متفاوت پیاده‌سازی نمایند، دستور .B `jj interdiff \-\-from @\- \-\-to other` نشان می‌دهد که یک پیاده‌سازی چه چیزهایی را اضافه یا حذف می‌کند که دیگری نکرده است. .PP یک کاربرد رایج این دستور مقایسهٔ چگونگی دگرگونی یک تغییر از زمان آخرین push به یک مخزن دوردست (remote) است: .PP .nf $ jj interdiff \-\-from push\-xyz@origin \-\-to push\-xyz .fi .PP این دستور با .B `jj diff \-\-from A \-\-to B` که محتوای فایل‌ها را مستقیماً با یکدیگر مقایسه می‌کند، تفاوت دارد. دستور .B interdiff عملکرد تغییرات را از نظر وصله‌های آن‌ها (patches) مقایسه می‌کند، نه بر اساس محتوای فایل‌ها. این امر زمانی تفاوت ایجاد می‌کند که دو بازبینی دارای والدهای متفاوتی باشند: .B `jj diff \-\-from A \-\-to B` شامل تغییرات میان والدهای آن‌ها خواهد بود، در حالی که .B `jj interdiff \-\-from A \-\-to B` آن تغییرات را شامل نخواهد شد. .PP از نظر فنی، این کار با بازپایه‌ریزی (rebase کردن) .B \-\-from بر روی والدهای .B \-\-to و سپس مقایسهٔ نتیجه با .B \-\-to انجام می‌شود. .PP برای مشاهدهٔ تغییرات در کل فرآیند تکامل یک تغییر به جای فقط بین دو بازبینی، در عوض از .B `jj evolog \-p` استفاده کنید. .SH "گزینه‌ها (OPTIONS)" .TP \fB\-f\fR, \fB\-\-from\fR \fI\fR نخستین بازبینی برای مقایسه (پیش‌فرض: @) .TP \fB\-t\fR, \fB\-\-to\fR \fI\fR دومین بازبینی برای مقایسه (پیش‌فرض: @) .TP \fB\-h\fR, \fB\-\-help\fR چاپ راهنما (مشاهده خلاصه با \*(Aq\-h\*(Aq) .TP [\fIFILESETS\fR] محدود کردن تفاوت به این مسیرها .SH "گزینه‌های قالب‌بندی تفاوت (DIFF FORMATTING OPTIONS)" .TP \fB\-s\fR, \fB\-\-summary\fR برای هر مسیر، تنها اصلاح، اضافه یا حذف شدن آن نشان داده شود .TP \fB\-\-stat\fR نمایش هیستوگرام تغییرات .TP \fB\-\-types\fR برای هر مسیر، تنها نوع آن قبل و بعد از تغییر نشان داده شود .sp تفاوت به‌صورت دو حرف نمایش داده می‌شود. حرف اول نشان‌دهندهٔ نوع قبلی و حرف دوم نشان‌دهندهٔ نوع بعدی است. \*(Aq\-\*(Aq نشان می‌دهد مسیر وجود نداشته است، \*(AqF\*(Aq نشان‌دهندهٔ یک فایل معمولی، \*(AqL\*(Aq نشان‌دهندهٔ یک پیوند نمادین (symlink)، \*(AqC\*(Aq نشان‌دهندهٔ یک تداخل (conflict)، و \*(AqG\*(Aq نشان‌دهندهٔ یک زیرماژول Git است. .TP \fB\-\-name\-only\fR برای هر مسیر، تنها مسیر آن نشان داده شود .sp معمولاً برای دستورات پوسته (shell) کاربرد دارد، مانند: .sp .nf jj diff \-r @\- \-\-name\-only | xargs perl \-pi \-e\*(Aqs/OLD/NEW/g .fi .TP \fB\-\-git\fR نمایش تفاوت در قالب Git (Git\-format diff) .TP \fB\-\-color\-words\fR نمایش تفاوت در سطح کلمه که در آن تغییرات تنها با رنگ مشخص می‌شوند .TP \fB\-\-tool\fR \fI\fR تولید تفاوت توسط دستور خارجی .sp یک قالب توکار نیز می‌تواند به‌صورت `:` مشخص شود. برای نمونه، `\-\-tool=:git` معادل `\-\-git` است. .TP \fB\-\-context\fR \fI\fR تعداد خطوط متنی پیرامون (context) جهت نمایش .TP \fB\-w\fR, \fB\-\-ignore\-all\-space\fR نادیده گرفتن فاصله‌های خالی هنگام مقایسهٔ خطوط .TP \fB\-b\fR, \fB\-\-ignore\-space\-change\fR نادیده گرفتن تغییرات در تعداد فاصله‌های خالی هنگام مقایسهٔ خطوط .SH "گزینه‌های عمومی (GLOBAL OPTIONS)" .TP \fB\-R\fR, \fB\-\-repository\fR \fI\fR مسیر مخزنی که باید روی آن کار شود .sp به‌طور پیش‌فرض، Jujutsu به دنبال نزدیک‌ترین دایرکتوری .jj/ در مسیرهای والد دایرکتوری کاری فعلی می‌گردد. .TP \fB\-\-ignore\-working\-copy\fR از نسخهٔ کاری اسنپ‌شات گرفته نشود و به‌روزرسانی نیز نگردد .sp به‌طور پیش‌فرض، Jujutsu در ابتدای هر دستور از نسخهٔ کاری اسنپ‌شات می‌گیرد. همچنین در پایان دستور، اگر دستور کامیت نسخهٔ کاری (`@`) را تغییر داده باشد، نسخهٔ کاری به‌روزرسانی می‌شود. اگر می‌خواهید از اسنپ‌شات گرفتن از نسخهٔ کاری صرف‌نظر کنید و در عوض یک کامیت نسخهٔ کاری احتمالاً قدیمی را مشاهده کنید، می‌توانید از .B \-\-ignore\-working\-copy استفاده کنید. این مورد می‌تواند برای مثال در خط فرمان (prompt) مفید باشد، به‌ویژه اگر فرآیند دیگری داشته باشید که نسخهٔ کاری را کامیت می‌کند. .sp بارگذاری مخزن در یک عملیات خاص با .B \-\-at\-operation به معنای فعال بودن .B \-\-ignore\-working\-copy است. .TP \fB\-\-no\-integrate\-operation\fR اجرای دستور به صورت معمول اما بدون ادغام عملیات‌ها .sp هنگامی که این گزینه ارائه شود، عملیات‌ها همچنان مثل همیشه ایجاد می‌شوند اما در گزارش عملیات (operation log) ادغام نخواهند شد. همچنین نسخهٔ کاری به‌روزرسانی نخواهد شد. .sp این دستور شناسهٔ عملیات حاصل را چاپ می‌کند. می‌توانید آن را مثلاً به .B jj \-\-at\-op ارسال کنید تا وضعیت مخزن حاصل را بررسی کنید، یا آن را به .B jj op restore بدهید تا مخزن را به آن وضعیت بازیابی کند. همچنین می‌توانید شناسه را به .B jj op integrate بدهید تا عملیات را ادغام نماید. .sp توجه داشته باشید که این گزینه مانع اثرات جانبی بیرون از مخزن *نمی‌شود*. برای نمونه، دستور .B jj git push \-\-no\-integrate\-operation همچنان عملیات پوش (push) را انجام خواهد داد. .TP \fB\-\-ignore\-immutable\fR اجازه بازنویسی کامیت‌های تغییرناپذیر .sp به‌طور پیش‌فرض، Jujutsu از بازنویسی کامیت‌های موجود در مجموعهٔ پیکربندی‌شدهٔ کامیت‌های تغییرناپذیر جلوگیری می‌کند. این گزینه بررسی مذکور را غیرفعال کرده و اجازه می‌دهد هر کامیتی به جز کامیت ریشه (root commit) را بازنویسی کنید. .sp این گزینه فقط بر روی این بررسی تأثیر می‌گذارد و روی مجموعه بازبینی (revset) .B immutable_heads() یا کلمه کلیدی الگوی .B immutable اثری ندارد. .TP \fB\-\-at\-operation\fR \fI\fR عملیاتی که مخزن بر مبنای آن بارگذاری شود .sp عملیاتی که مخزن باید بر مبنای آن بارگذاری شود. به‌طور پیش‌فرض، Jujutsu مخزن را بر مبنای جدیدترین عملیات یا در صورت وجود، بر مبنای ادغام عملیات‌های واگرا بارگذاری می‌کند. .sp می‌توانید از .BI \-\-at\-op= استفاده کنید تا ببینید مخزن در یک عملیات پیشین به چه شکلی بوده است. برای مثال، دستور .BI "jj \-\-at\-op=" " st" آنچه را که .B jj st بلافاصله پس از پایان عملیات مشخص‌شده نشان می‌داد، به شما نمایش می‌دهد. .B \-\-at\-op=@ تقریباً همانند حالت پیش‌فرض است، با این تفاوت که عملیات‌های واگرا هرگز ادغام نخواهند شد. .sp از دستور .B jj op log برای یافتن شناسهٔ عملیات دلخواه خود استفاده کنید. هر پیشوند یکتایی از شناسهٔ عملیات کافی است. .sp هنگام بارگذاری مخزن در یک عملیات قبلی، نسخهٔ کاری نادیده گرفته می‌شود، درست مانند اینکه .B \-\-ignore\-working\-copy مشخص شده باشد. .sp امکان اجرای دستورات تغییردهنده وضعیت (mutating) هنگام بارگذاری مخزن در یک عملیات قبلی وجود دارد. انجام این کار معادل اجرای دستورات همزمان با شروع از عملیات پیشین است. به‌ندرت دلیلی برای انجام این کار وجود دارد، اما امکان‌پذیر است. .TP \fB\-\-debug\fR فعال‌سازی گزارش‌گیری اشکال‌زدایی (debug logging) .TP \fB\-\-color\fR \fI\fR زمان رنگی‌سازی خروجی .br .br \fIمقادیر مجاز:\fR .RS 14 .IP \(bu 2 always .IP \(bu 2 never .IP \(bu 2 debug .IP \(bu 2 auto .RE .TP \fB\-\-quiet\fR بی‌صدا کردن خروجی‌های غیر اصلی دستور .sp برای نمونه، دستور .B jj file list همچنان فایل‌ها را فهرست می‌کند، اما به شما اطلاع نمی‌دهد که از نسخهٔ کاری اسنپ‌شات گرفته شده است یا نوادگان بازپایه‌ریزی (rebase) شده‌اند. .sp هشدارها و خطاها همچنان چاپ خواهند شد. .TP \fB\-\-no\-pager\fR غیرفعال کردن صفحه‌بندی (pager) .TP \fB\-\-config\fR \fI\fR گزینه‌های پیکربندی اضافی (قابل تکرار) .sp نام باید به صورت کلیدهای نقطه‌دار TOML مشخص شود. مقدار باید به عنوان یک عبارت TOML تعیین شود. در صورتی که مقدار رشته‌ای در هیچ‌یک از ساختارهای TOML (مانند نشانه‌گذاری آرایه) محصور نشده باشد، می‌توان علامت نقل‌قول را حذف کرد. .TP \fB\-\-config\-file\fR \fI\fR فایل‌های پیکربندی اضافی (قابل تکرار) .SH "همچنین ببینید (SEE ALSO)" .BR jj (1), .BR jj\-diff (1), .BR jj\-evolog (1)