jj-log(1) General Commands Manual jj-log(1)

jj-log - نمایش تاریخچهٔ بازنگری‌ها

jj log [-r|--revision] [-R|--repository] [--ignore-working-copy] [-n|--limit] [--no-integrate-operation] [--reversed] [-G|--no-graph] [--ignore-immutable] [--at-operation] [-T|--template] [--debug] [-p|--patch] [--color] [--count] [--quiet] [-s|--summary] [--no-pager] [--stat] [--config] [--types] [--config-file] [--name-only] [--git] [--color-words] [--tool] [--context] [--ignore-all-space] [--ignore-space-change] [-h|--help] [FILESETS]

نمایش تاریخچهٔ بازنگری‌ها

نمای گرافیکی از تاریخچهٔ پروژه را رندر می‌کند، که در آن فرزندان پیش از والدین مرتب شده‌اند. به‌طور پیش‌فرض، خروجی تنها شامل بازنگری‌های تغییرپذیر به همراه برخی بازنگری‌های اضافی برای زمینه (context) است. برای مشاهدهٔ تمام بازنگری‌ها از `jj log -r ::` استفاده کنید. برای اطلاعات دربارهٔ نحو، [`jj help -k revsets`] را ببینید.

[`jj help -k revsets`]: https://docs.jj-vcs.dev/latest/revsets

محدوده‌هایی از بازنگری‌ها که طبق `--revisions` در نمودار گنجانده نشده‌اند، به صورت یک گره ترکیبی با برچسب "(elided revisions)" نمایش داده می‌شوند.

کامیت رونوشت کاری در نمودار با نماد `@` مشخص می‌شود. بازنگری‌های تغییرناپذیر [Immutable revisions] دارای نماد `◆` هستند. سایر کامیت‌ها دارای نماد `○` می‌باشند. تمام این نمادها قابل سفارشی‌سازی [customized] هستند.

[Immutable revisions]: https://docs.jj-vcs.dev/latest/config/#set-of-immutable-commits

[customized]: https://docs.jj-vcs.dev/latest/config/#node-style

کدام بازنگری‌ها نمایش داده شوند

اگر نه مسیرها و نه بازنگری‌ها مشخص نشده باشند، این مقدار به صورت پیش‌فرض برابر با تنظیم `revsets.log` خواهد بود.

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

پس از پالایش و مرتب‌سازی توپولوژیکی بازنگری‌ها اعمال می‌شود، اما پیش از معکوس شدن ترتیب.

نمایش بازنگری‌ها با ترتیب معکوس (ابتدا بازنگری‌های قدیمی‌تر)
نمایش یک فهرست مسطح از بازنگری‌ها به جای نمودار
رندر کردن هر بازنگری با استفاده از قالب داده‌شده

دستور `jj log -T` را اجرا کنید تا فهرست قالب‌های توکار نمایش داده شود.

همچنین می‌توانید عبارات قالب دلخواه را با استفاده از کلمات کلیدی توکار [built-in keywords] مشخص کنید. برای اطلاعات بیشتر [`jj help -k templates`] را ببینید.

در صورت عدم تعیین، این گزینه به صورت پیش‌فرض برابر با تنظیم `templates.log` خواهد بود.

[built-in keywords]: https://docs.jj-vcs.dev/latest/templates/#commit-keywords

[`jj help -k templates`]: https://docs.jj-vcs.dev/latest/templates

نمایش پچ (وصله)
چاپ تعداد کامیت‌ها به جای نمایش آن‌ها
چاپ راهنما (مشاهده خلاصه با '-h')
[FILESETS]
نمایش بازنگری‌هایی که مسیرهای داده‌شده را تغییر می‌دهند

برای هر مسیر، تنها اصلاح، اضافه یا حذف شدن آن نشان داده شود
نمایش هیستوگرام تغییرات
برای هر مسیر، تنها نوع آن قبل و بعد از تغییر نشان داده شود

تفاوت به صورت دو حرف نمایش داده می‌شود. حرف اول نوع قبلی و حرف دوم نوع بعدی را نشان می‌دهد. '-' نشان می‌دهد که مسیر وجود نداشته است، 'F' نشان‌دهندهٔ یک فایل معمولی، `L' نشان‌دهندهٔ یک پیوند نمادین (symlink)، 'C' نشان‌دهندهٔ یک تداخل (conflict)، و 'G' نشان‌دهندهٔ یک زیرماژول Git است.

برای هر مسیر، تنها مسیر آن نشان داده شود

معمولاً برای دستورات پوسته (shell) کاربرد دارد، مانند: `jj diff -r @- --name-only | xargs perl -pi -e's/OLD/NEW/g`

نمایش تفاوت در قالب Git
نمایش تفاوت در سطح کلمه که در آن تغییرات تنها با رنگ مشخص می‌شوند
تولید تفاوت توسط دستور خارجی

یک قالب توکار نیز می‌تواند به صورت `:<name>` مشخص شود. برای نمونه، `--tool=:git` معادل `--git` است.

تعداد خطوط متنی پیرامون (context) جهت نمایش
نادیده گرفتن فاصله‌های خالی هنگام مقایسه خطوط
نادیده گرفتن تغییرات در تعداد فاصله‌های خالی هنگام مقایسه خطوط

مسیر مخزنی که باید روی آن کار شود

به‌طور پیش‌فرض، Jujutsu به دنبال نزدیک‌ترین دایرکتوری .jj/ در مسیرهای والد دایرکتوری کاری فعلی می‌گردد.

از رونوشت کاری اسنپ‌شات گرفته نشود و به‌روزرسانی نیز نگردد

به‌طور پیش‌فرض، Jujutsu در ابتدای هر دستور از رونوشت کاری اسنپ‌شات می‌گیرد. همچنین در پایان دستور، اگر دستور کامیت رونوشت کاری (`@`) را تغییر داده باشد، رونوشت کاری به‌روزرسانی می‌شود. اگر می‌خواهید از اسنپ‌شات گرفتن از رونوشت کاری صرف‌نظر کنید و در عوض یک کامیت رونوشت کاری احتمالاً قدیمی را مشاهده کنید، می‌توانید از `--ignore-working-copy` استفاده کنید. این مورد می‌تواند برای مثال در خط فرمان (prompt) مفید باشد، به‌ویژه اگر فرآیند دیگری داشته باشید که رونوشت کاری را کامیت می‌کند.

بارگذاری مخزن در یک عملیات خاص با `--at-operation` به معنای فعال بودن `--ignore-working-copy` است.

اجرای دستور به صورت معمول اما بدون ادغام عملیات‌ها

هنگامی که این گزینه ارائه شود، عملیات‌ها همچنان مثل همیشه ایجاد می‌شوند اما در گزارش عملیات (operation log) ادغام نخواهند شد. همچنین رونوشت کاری به‌روزرسانی نخواهد شد.

این دستور شناسهٔ عملیات حاصل را چاپ می‌کند. می‌توانید آن را مثلاً به `jj --at-op` ارسال کنید تا وضعیت مخزن حاصل را بررسی کنید، یا آن را به `jj op restore` بدهید تا مخزن را به آن وضعیت بازیابی کند. همچنین می‌توانید شناسه را به `jj op integrate` بدهید تا عملیات را ادغام نماید.

توجه داشته باشید که این گزینه مانع اثرات جانبی بیرون از مخزن *نمی‌شود*. برای نمونه، دستور `jj git push --no-integrate-operation` همچنان عملیات ارسال (push) را انجام خواهد داد.

اجازه بازنویسی کامیت‌های تغییرناپذیر

به‌طور پیش‌فرض، Jujutsu از بازنویسی کامیت‌های موجود در مجموعهٔ پیکربندی‌شدهٔ کامیت‌های تغییرناپذیر جلوگیری می‌کند. این گزینه بررسی مذکور را غیرفعال کرده و اجازه می‌دهد هر کامیتی به جز کامیت ریشه (root commit) را بازنویسی کنید.

این گزینه فقط بر روی این بررسی تأثیر می‌گذارد و روی مجموعه بازبینی (revset) `immutable_heads()` یا کلمه کلیدی الگوی `immutable` اثری ندارد.

عملیاتی که مخزن بر مبنای آن بارگذاری شود

عملیاتی که مخزن باید بر مبنای آن بارگذاری شود. به‌طور پیش‌فرض، Jujutsu مخزن را بر مبنای جدیدترین عملیات یا در صورت وجود، بر مبنای ادغام عملیات‌های واگرا بارگذاری می‌کند.

می‌توانید از `--at-op=<operation ID>;` استفاده کنید تا ببینید مخزن در یک عملیات پیشین به چه شکلی بوده است. برای مثال، دستور `jj --at-op=<operation ID>; st` آنچه را که `jj st` بلافاصله پس از پایان عملیات مشخص‌شده نشان می‌داد، به شما نمایش می‌دهد. `--at-op=@` تقریباً همانند حالت پیش‌فرض است، با این تفاوت که عملیات‌های واگرا هرگز ادغام نخواهند شد.

از دستور `jj op log` برای یافتن شناسهٔ عملیات دلخواه خود استفاده کنید. هر پیشوند یکتایی از شناسهٔ عملیات کافی است.

هنگام بارگذاری مخزن در یک عملیات قبلی، رونوشت کاری نادیده گرفته می‌شود، درست مانند اینکه `--ignore-working-copy` مشخص شده باشد.

امکان اجرای دستورات تغییردهنده وضعیت (mutating) هنگام بارگذاری مخزن در یک عملیات قبلی وجود دارد. انجام این کار معادل اجرای دستورات همزمان با شروع از عملیات پیشین است. به‌ندرت دلیلی برای انجام این کار وجود دارد، اما امکان‌پذیر است.

فعال‌سازی گزارش‌گیری اشکال‌زدایی (debug logging)
زمان رنگی‌سازی خروجی

مقادیر مجاز:

  • always
  • never
  • debug
  • auto
بی‌صدا کردن خروجی‌های غیر اصلی دستور

برای نمونه، دستور `jj file list` همچنان فایل‌ها را فهرست می‌کند، اما به شما اطلاع نمی‌دهد که از رونوشت کاری اسنپ‌شات گرفته شده است یا نوادگان بازپایه‌ریزی (rebase) شده‌اند.

هشدارها و خطاها همچنان چاپ خواهند شد.

غیرفعال کردن صفحه‌بندی (pager)
گزینه‌های پیکربندی اضافی (قابل تکرار)

نام باید به صورت کلیدهای نقطه‌دار TOML مشخص شود. مقدار باید به عنوان یک عبارت TOML تعیین شود. در صورتی که مقدار رشته‌ای در هیچ‌یک از ساختارهای TOML (مانند نشانه‌گذاری آرایه) محصور نشده باشد، می‌توان علامت نقل‌قول را حذف کرد.

فایل‌های پیکربندی اضافی (قابل تکرار)
log