NMBUG(1) notmuch NMBUG(1)

nmbug - مدیریت باگ‌های notmuch با git

notmuch git [-h] [-N] [-C repo] [-p prefix] [-v] [-l log level] subcommand

nmbug [-h] [-C repo] [-p prefix] [-v] [-l log level] subcommand

مدیریت برچسب‌های notmuch با Git.

گزینه‌های پشتیبانی‌شده برای notmuch git عبارتند از

نمایش پیام راهنما و خروج
تنظیم مقادیر پیش‌فرض برای --tag-prefix و --git-dir مناسب برای سامانه ردیابی باگ notmuch <>
عملیات بر روی مخزن گیت repo. برای مقادیر پیش‌فرض به REPOSITORY LOCATION مراجعه کنید.
عملیات فقط روی برچسب‌های دارای پیشوند prefix. برای مقادیر پیش‌فرض به PREFIX VALUE مراجعه کنید.
نمایش شماره نسخه notmuch-git و خروج
میزان پرگویی ثبت گزارش (log)، یکی از موارد: critical، error، warning، info، debug. پیش‌فرض warning است.

برای راهنمایی درباره یک زیرفرمان خاص، اجرا کنید: 'notmuch-git ... <command> --help'.

ایجاد خروجی بایگانی tar از یک مجموعه برچسب کامیت‌شده با استفاده از 'git archive'. برای جزئیات مربوط به محتوای بایگانی به REPOSITORY CONTENTS مراجعه کنید.

درخت یا کامیتی که بایگانی برای آن تولید می‌شود. پیش‌فرض 'HEAD' است.

در صورت وجود، هرگونه آرگومان اختیاری به git-archive(1) https://manpages.debian.org/git-archive.1.html ارسال می‌شود. آرگومان‌های git-archive به گونه‌ای بازآرایی می‌شوند که tree-ish در آخر قرار گیرد.

به‌روزرسانی پایگاه‌داده notmuch از git.

این دستور عمدتاً برای نادیده گرفتن تغییرات شما در notmuch نسبت به git مفید است.

[-f|--force]

نادیده‌گرفتن بررسی‌هایی که مانع از تغییر برچسب‌ها برای بخش بزرگی از پیام‌ها در پایگاه‌داده می‌شوند. همچنین ببینید: git.safe_fraction <#nmconfig-git.safe_fraction>.

ایجاد یک مخزن محلی notmuch git از یک منبع دوردست (remote).

این دستور 'git clone' را پوشش داده و گزینه‌هایی را برای جلوگیری از ایجاد درخت کاری (working tree) در عین حفظ شاخه‌های ردیابی دوردست (remote-tracking) و بالادستی‌ها (upstreams) اضافه می‌کند.

مخزنی (احتمالاً دوردست) که باید از آن شبیه‌سازی (clone) انجام شود. برای اطلاعات بیشتر در مورد مشخص کردن مخازن، به بخش URLS در git-clone(1) https://manpages.debian.org/git-clone.1.html مراجعه کنید.

کامیت کردن برچسب‌های منطبق بر پیشوند از پایگاه‌داده notmuch به git.

متن اختیاری برای پیام کامیت.

نادیده‌گرفتن بررسی‌هایی که مانع از تغییر برچسب‌ها برای بخش بزرگی از پیام‌ها در پایگاه‌داده می‌شوند. همچنین ببینید: git.safe_fraction <#nmconfig-git.safe_fraction>.

واکشی تغییرات از مخزن دوردست (remote).

remote

بازنویسی مقدار پیش‌فرض تنظیم‌شده در branch.<name>.remote برای واکشی از یک مخزن دوردست خاص (مانند origin).

نمایش راهنمای مختصر برای یکی از دستورهای notmuch git.

ایجاد یک مخزن خالی notmuch git.

این دستور پوششی بر 'git init' به همراه چند مرحلهٔ اضافی برای پشتیبانی از دستورهای بعدی status و commit است.

ایجاد مخزن با نگارش قالب N. به‌طور پیش‌فرض notmuch-git <> از بالاترین نگارش پشتیبانی‌شده استفاده می‌کند که برای بیشتر موارد کاربرد، بهترین گزینه است.

پوششی برای 'git log'.

آرگومان‌های اضافی مستقیماً به 'git log' منتقل می‌شوند.

پس از اجرای notmuch git fetch، می‌توانید تغییرات را با دستور زیر بررسی کنید:

$ notmuch git log HEAD..@{upstream}

ادغام تغییرات از 'reference' در HEAD و بارگذاری نتیجه در notmuch.

مرجع، معمولاً نوک شاخه‌های دیگر، برای ادغام در شاخهٔ جاری ما. پیش‌فرض @{upstream} است.

دریافت (ادغام) تغییرات مخزن دوردست در notmuch.

دستور pull معادل fetch و سپس merge است. از مخزن پیکربندی‌شده در git برای شاخهٔ فعلی شما (branch.<name>.repository، احتمالاً origin، و branch.<name>.merge، احتمالاً master یا main) استفاده می‌شود.

مخزن «دوردست» (remote) که منبع pull است. این پارامتر می‌تواند یک نشانی وب (بخش GIT URLS را در git-pull(1) https://manpages.debian.org/git-pull.1.html ببینید) یا نام یک remote (بخش REMOTES را در git-pull(1) https://manpages.debian.org/git-pull.1.html ببینید) باشد.

مشخصهٔ مرجع یا Refspec (معمولاً نام یک شاخه) برای واکشی و ادغام. برای دیدن سایر احتمالات، مدخل refspec را در بخش OPTIONS در git-pull(1 https://manpages.debian.org/git-pull.1.html) ببینید.

ارسال (push) وضعیت محلی notmuch git به یک مخزن دوردست.

مخزن «دوردست» (remote) که مقصد push است. این پارامتر می‌تواند یک نشانی وب (بخش GIT URLS را در git-push(1) https://manpages.debian.org/git-push.1.html ببینید) یا نام یک remote (بخش REMOTES را در git-push(1) https://manpages.debian.org/git-push.1.html ببینید) باشد.

مشخصهٔ مرجع یا Refspec (معمولاً نام یک شاخه) برای push کردن. برای دیدن سایر احتمالات، مدخل refspec را در بخش OPTIONS در git-push(1) https://manpages.debian.org/git-push.1.html بررسی کنید.

نمایش به‌روزرسانی‌های معلق در notmuch یا مخزن git.

سطرهایی با این قالب چاپ می‌کند:

ng Message-Id tag

که در آن n نویسه‌ای منفرد است که وضعیت پایگاه‌دادهٔ notmuch را نشان می‌دهد:

برچسب در پایگاه‌دادهٔ notmuch موجود است، اما در git ثبت نشده است (یا به عبارت دیگر، برچسب در مخزن git حذف شده، مثلاً با یک دستور pull، اما هنوز در پایگاه‌دادهٔ notmuch بازیابی نشده است).

برچسب در مخزن git وجود دارد، اما هنوز در پایگاه‌دادهٔ notmuch بازیابی نشده است (یا به بیان دیگر، برچسب در notmuch حذف شده است).

پیام ناشناخته است (در پایگاه‌دادهٔ محلی notmuch موجود نیست).

نویسهٔ دوم g (در صورت وجود) بیانگر تفاوت میان شاخه‌های محلی و بالادست (upstream) است. معمولاً برای به‌روزرسانی این وضعیت باید دستور notmuch git fetch اجرا شود.

a

برچسب در upstream وجود دارد، اما در شاخهٔ محلی git موجود نیست.

برچسب در شاخهٔ محلی git وجود دارد، اما در upstream موجود نیست.

برچسب‌ها در مخزن git به‌صورت مجموعه‌ای از فایل‌های خالی ذخیره (و صادر) می‌شوند. این فایل‌های خالی درون دایرکتوری‌ای قرار دارند که بر اساس message-id نام‌گذاری شده است.

در ادامه، encode() نشان‌دهندهٔ یک کدگذاری امن برای سیستم‌فایل‌های POSIX است. این کدگذاری نویسه‌های الفبایی-عددی و نویسه‌های +-_@=.,: را حفظ می‌کند. تمام بایت‌های دیگر با % و به‌دنبال آن یک عدد هگزادسیمال دو رقمی جایگزین می‌شوند.

در حال حاضر notmuch-git <> می‌تواند هر نسخه‌ای از قالب را بخواند، اما فقط می‌تواند (از طریق init) مخازن نسخهٔ ۱ را ایجاد کند.

این قالب قدیمی ایجادشده توسط ابزار nmbug قبل از انتشار 0.37 است. برای پیامی با Message-Id id، به ازای هر برچسب tag، یک فایل خالی با مسیر زیر وجود دارد:

tags/ encode (id) / encode (tag)

در نسخهٔ قالب ۱ و بالاتر، نسخهٔ قالب در فایلی در بالاترین سطح به نام FORMAT نگهداری می‌شود.

برای پیامی با Message-Id id، به ازای هر برچسب tag، یک فایل خالی با مسیر زیر وجود دارد:

tags/ hash1 (id) / hash2 (id) encode (id) / encode (tag)

توابع هش هر کدام یک بایت از خلاصهٔ هگزادسیمال blake2b را نمایش می‌دهند.

در مقایسه با نسخهٔ ۰، این کار تعداد زیردایرکتوری‌های درون هر دایرکتوری را کاهش می‌دهد.

دستور notmuch-git <> از نخستین مورد از موارد زیر که مقدار غیرخالی داشته باشد برای تعیین مکان مخزن git استفاده می‌کند:

  • گزینهٔ --git-dir.
  • متغیر محیطی NOTMUCH_GIT_DIR.
  • مورد پیکربندی git.path <#nmconfig-git.path>
  • در صورت فراخوانی به‌صورت nmbug یا با گزینهٔ --nmbug، $HOME/.nmbug؛ در غیر این صورت $XDG_DATA_HOME/notmuch/$NOTMUCH_PROFILE/git.

دستور notmuch-git <> از نخستین مورد از موارد زیر که مقداری غیرتهی (non-null) داشته باشد برای تعیین پیشوند برچسب استفاده می‌کند:

  • گزینهٔ --tag-prefix.
  • متغیر محیطی NOTMUCH_GIT_PREFIX.
  • مورد پیکربندی git.tag_prefix <#nmconfig-git.tag_prefix>.
  • در صورت فراخوانی به‌صورت nmbug یا با گزینهٔ --nmbug، notmuch::؛ در غیر این صورت رشتهٔ خالی.

    متغیر NOTMUCH_PROFILE <#envvar-NOTMUCH_PROFILE> بر مکان مخزن (REPOSITORY LOCATION) تأثیر می‌گذارد. اگر تنظیم نشده باشد، 'default' فرض می‌شود.

مکان پیش‌فرض مخزن git. با --git-dir بازنویسی می‌شود.
پیشوند پیش‌فرض برچسب (فیلتر). با --tag-prefix بازنویسی می‌شود.

notmuch <#notmuch-1>, notmuch-dump <#notmuch-dump-1>, notmuch-restore <#notmuch-restore-1>, notmuch-tag <#notmuch-tag-1>

Carl Worth و بسیاری دیگر

2009-2026, Carl Worth و بسیاری دیگر

April 17, 2026 0.40