jj-workspace-add(1) General Commands Manual jj-workspace-add(1)

jj-workspace-add - افزودن یک فضای کاری

jj workspace add [--name] [-R|--repository] [--ignore-working-copy] [-r|--revision] [-m|--message] [--no-integrate-operation] [--ignore-immutable] [--sparse-patterns] [--at-operation] [--debug] [--color] [--quiet] [--no-pager] [--config] [--config-file] [-h|--help] <DESTINATION>

افزودن یک فضای کاری

به‌طور پیش‌فرض، فضای کاری جدید الگوهای اسپارس فضای کاری فعلی را به ارث می‌برد. می‌توانید با استفاده از گزینهٔ `--sparse-patterns` این رفتار را تغییر دهید.

نامی برای فضای کاری

جهت لغو حالت پیش‌فرض، که نام پایهٔ (basename) دایرکتوری مقصد است.

فهرستی از بازبینی‌های والد برای کامیت رونوشت کاری فضای کاری تازه ایجادشده. می‌توانید هیچ مقداری یا هر تعداد والد را مشخص کنید.

اگر هیچ بازبینی‌ای مشخص نشود، فضای کاری جدید ایجاد می‌شود و کامیت رونوشت کاری آن بر روی والد(های) کامیت رونوشت کاری در فضای کاری فعلی قرار می‌گیرد، یعنی والد(های) مشترکی خواهند داشت.

اگر هر بازبینی‌ای مشخص شود، فضای کاری جدید ایجاد می‌شود و کامیت رونوشت کاری جدید با تمام این بازبینی‌ها به عنوان والد ایجاد خواهد شد، یعنی کامیت رونوشت کاری طوری خواهد بود که گویی دستور `jj new r1 r2 r3 ...` را اجرا کرده‌اید.

توضیحات تغییر جهت استفاده
نحوه رسیدگی به الگوهای اسپارس هنگام ایجاد یک فضای کاری جدید

مقادیر مجاز:

  • copy: رونوشت از تمام الگوهای اسپارس فضای کاری فعلی
  • full: شامل کردن همه فایل‌ها در فضای کاری جدید
  • empty: پاک کردن همه فایل‌ها از فضای کاری (خالی خواهد بود)
چاپ راهنما (مشاهده خلاصه با '-h')
<DESTINATION>
محل ایجاد فضای کاری جدید

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

به‌طور پیش‌فرض، 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 (مانند نشانه‌گذاری آرایه) محصور نشده باشد، می‌توان علامت نقل‌قول را حذف کرد.

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