.\" Man page generated from reStructuredText.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "B4" "1" "2026-03-16" "0.15" "دستورهای کاربر (User Commands)"
.SH "نام (NAME)"
B4 \- کار با ارسالهای کد در بایگانی public-inbox
.SH "خلاصه دستور (SYNOPSIS)"
.sp
b4 {mbox,am,shazam,pr,diff,ty,kr,dig,review,prep,send,trailers} [options]
.SH "توضیحات (DESCRIPTION)"
.sp
این یک ابزار کمکی برای کار با وصلهها (پچها) و درخواستهای ادغام (pull requests) ارائه شده از طریق بایگانی public\-inbox مانند lore.kernel.org است. این ابزار برای سادهتر کردن مشارکت در جریانهای کاری مبتنی بر وصله، مانند موارد استفادهشده در توسعه هسته لینوکس، نوشته شده است.
.sp
نام \(dqb4\(dq برای سهولت در تایپ انتخاب شده است و همچنین به این دلیل که B\-4 پیشدرآمدی برای Lore و Data در دنیای پیشتازان فضا (Star Trek) بود.
.sp
مستندات کامل در در دسترس است.
.SH "زیردستورها (SUBCOMMANDS)"
.sp
مختص مدیران مخزن و نگهدارندگان (Maintainer\-oriented):
.INDENT 0.0
.IP \(bu 2
\fImbox\fP: بارگیری یک رشته گفتگو (thread) به عنوان یک فایل mbox
.IP \(bu 2
\fIam\fP: ایجاد یک فایل mbox آماده برای git\-am
.IP \(bu 2
\fIshazam\fP: اعمال سری وصلهها بر روی مخازن گیت
.IP \(bu 2
\fIpr\fP: کار با درخواستهای ادغام (pull requests)
.IP \(bu 2
\fIty\fP: ایجاد پاسخهای قالببندیشده برای وصلهها و درخواستهای ادغام پردازششده
.IP \(bu 2
\fIdiff\fP: نمایش تفاوتها به سبک range\-diff بین نسخههای وصله
.IP \(bu 2
\fIdig\fP: یافتن ارسال پستی مربوط به یک کامیت معین در لیست پستی
.IP \(bu 2
\fIreview\fP: جریان کاری بررسی وصله مبتنی بر رابط متنی TUI (نسخه آلفا)
.IP \(bu 2
\fIkr\fP: (ناقص/STUB) عملیات روی دستهکلیدهای سازگار با patatt
.UNINDENT
.sp
مختص مشارکتکنندگان (Contributor\-oriented):
.INDENT 0.0
.IP \(bu 2
\fIprep\fP: آمادهسازی سری وصلههای خود برای ارسال
.IP \(bu 2
\fItrailers\fP: بازیابی و اعمال برچسبهای بازبینی کد (trailers)
.IP \(bu 2
\fIsend\fP: ارسال سری وصلههای خود برای بازبینی در فهرستهای توزیع
.UNINDENT
.sp
برای دیدن گزینههای کامل و عملکرد آنها، لطفاً \fBb4 \-\-help\fP و \fBb4 subcommand \-\-help\fP را ببینید.
.SS b4 mbox
.sp
این دستور اجازه بازیابی کامل رشتههای گفتگو را از یک نمونه راه دور public\-inbox میدهد. میتوانید فایل mbox حاصل را با اکثر کلاینتهای ایمیل برای اقداماتی مانند پاسخ به گفتگوها یا بازبینی ارسالهای وصله باز کنید.
.sp
میتوانید پیام را به صورت یک msgid، یک URL کامل به بایگانی public\-inbox ارائه دهید، یا آن را به ورودی استاندارد stdin هدایت کنید.
.sp
برای دیدن گزینهها و توضیحات آنها، \fBb4 mbox \-\-help\fP را ببینید.
.sp
\fIمثالها\fP
.INDENT 0.0
.TP
.B \fBb4 mbox [msgid]\fP
بارگیری یک رشته گفتگو از سرور پیشفرض public\-inbox و ذخیره آن در دایرکتوری فعلی به عنوان یک فایل .mbox.
.TP
.B \fBb4 mbox \-m ~/Mail [msgid]\fP
بارگیری یک رشته گفتگو از پوشه ~/Mail شما و ذخیره آن در دایرکتوری فعلی به عنوان یک فایل .mbox.
.TP
.B \fBb4 mbox \-fo ~/Mail [public\-inbox\-url]\fP
بارگیری رشته گفتگو از این سرور public\-inbox و افزودن آن به صندوق پستی موجود شما، با فیلتر کردن موارد تکراری موجود در پوشه صندوق پستی شما.
.UNINDENT
.SS b4 am
.sp
این دستور اجازه میدهد رشتههای گفتگو را از یک نمونه public\-inbox بازیابی کرده و آنها را برای اعمال در یک مخزن گیت با استفاده از دستور \(dqgit am\(dq آماده کنید. این دستور به طور خودکار عملیات زیر را انجام میدهد:
.INDENT 0.0
.IP \(bu 2
انتخاب آخرین نسخه ارسالشده از سری وصله (میتواند با \fB\-c\fP رشتههای جدیدتر را نیز بررسی کند)
.IP \(bu 2
بررسی امضاهای DKIM و گواهی patatt روی همه وصلهها و پیامهای بازبینی کد
.IP \(bu 2
تطبیق و جمعآوری تمام برچسبهای بازبینی کد ارسالشده (Reviewed\-by، Acked\-by و غیره) و قرار دادن آنها در پیام کامیت
.IP \(bu 2
افزودن برچسب Signed\-off\-by خودتان (با \fB\-s\fP)
.IP \(bu 2
بازسازی سریها از روی بهروزرسانیهای جزئی (مثلاً شخصی به جای کل سری، نسخه v2 یک وصله منفرد را ارسال کرده است)
.IP \(bu 2
حدس زدن اینکه وصلهها به کجای تاریخچه درخت تعلق دارند، در صورتی که پایه دقیق کامیت مشخص نشده باشد (با \fB\-g\fP)
.IP \(bu 2
آمادهسازی درخت برای ادغام سهطرفه (با \fB\-3\fP)
.IP \(bu 2
گلچین کردن (cherry\-pick) زیرمجموعهای از وصلهها از یک سری بزرگ (با \fB\-P\fP)
.UNINDENT
.sp
توجه: مگر اینکه قصد داشته باشید پیش از اعمال بر روی مخزن گیت کارهای مقدماتی انجام دهید (مانند ادغام ۳ طرفه)، بهتر است از \fBb4 shazam\fP برای اعمال سری بازیابیشده استفاده کنید.
.sp
برای دیدن گزینهها و توضیحات آنها، \fBb4 am \-\-help\fP را ببینید.
.sp
\fIمثالها\fP
.INDENT 0.0
.TP
.B \fBb4 am \-sl [msgid]\fP
بارگیری یک رشته گفتگو از سرور پیشفرض public\-inbox، اعمال تمام برچسبهای پیگیری، افزودن برچسب Signed\-Off\-By خودتان به همراه برچسب Link: که مبدا وصله را نشان میدهد، سپس ذخیره فایل .mbox حاصل در دایرکتوری فعلی آماده برای اعمال با \(dqgit am\(dq.
.TP
.B \fBb4 am \-sl \-P 1\-3 [msgid]\fP
مشابه مثال قبل، اما فقط انتخاب وصلههای ۱، ۲ و ۳ از کل سری.
.TP
.B \fBb4 am \-3 [msgid]\fP
بارگیری سری و آمادهسازی درخت گیت محلی برای یک ادغام سهطرفه با اطمینان از وجود همه حبابهای نمایه (index blobs).
.TP
.B \fBb4 am \-\-check [msgid]\fP
بارگیری سری و نمایش اینکه آیا آزمونها و بررسیها را با موفقیت پشت سر میگذارد یا خیر. میتوانید دستور را با استفاده از گزینه پیکربندی \fBb4.am\-perpatch\-check\-cmd\fP مشخص کنید. برای هسته لینوکس، پیشفرض متداولترین مجموعه گزینههای \fBcheckpatch.pl\fP خواهد بود.
.UNINDENT
.SS b4 shazam
.sp
این دستور بسیار شبیه به \fBb4 am\fP است، اما وصلهها را نیز مستقیماً با استفاده از \fBgit am\fP بر روی درخت گیت فعلی اعمال میکند. متناوباً، هنگامی که با \fB\-H\fP استفاده میشود، میتواند سری وصلهها را به داخل \fBFETCH_HEAD\fP واکشی کند گویی که یک pull request است، آماده برای بازبینی و ادغام. B4 از کاور لتر به عنوان قالبی برای کامیت ادغام استفاده میکند.
.sp
اگر میخواهید git\-merge را به طور خودکار فراخوانی کنید، میتوانید به جای \fB\-H\fP از \fB\-M\fP استفاده کنید. B4 به طور خودکار ویرایشگر را باز میکند و به شما امکان میدهد پیام کامیت ادغام را ویرایش کنید.
.sp
هنگام استفاده از \fB\-H\fP، میتوانید \fB\-\-resolve\fP را ارسال کنید تا تعارضهای ادغام را به صورت تعاملی با استفاده از یک ادغام سهطرفه حل کنید.
.sp
توجه: گزینههای \fB\-M\fP و \fB\-H\fP برای سریهایی که اطلاعات \fBbase\-commit\fP آنها با یک شیء در درخت محلی شما مطابقت دارد بهترین عملکرد را دارند.
.sp
برای دیدن گزینهها و توضیحات آنها، \fBb4 shazam \-\-help\fP را ببینید.
.sp
\fIمثالها\fP
.INDENT 0.0
.TP
.B \fBb4 shazam \-sl \-M [msgid]\fP
بارگیری یک رشته گفتگو از سرور پیشفرض public\-inbox، اعمال تمام برچسبهای پیگیری، افزودن برچسب Signed\-Off\-By خودتان به همراه برچسب Link: که مبدا وصله را نشان میدهد، سپس ادغام این کامیت در مخزن گیت فعلی با استفاده از کاور لتر به عنوان قالب کامیت ادغام.
.TP
.B \fBb4 shazam \-sl \-M \-\-merge\-base v6.4\-rc4 [msgid]\fP
مشابه مثال قبل، اما مبنای ادغام را به شیء کامیت ارائهشده مجبور میکند به جای آنچه در خود سری وصله ذکر شده است.
.UNINDENT
.SS b4 pr
.sp
این دستور برای کار با درخواستهای ادغام ارائهشده با استفاده از \fBgit\-request\-pull\fP است. در مقایسه با استفاده مستقیم از git، مزایای زیر را فراهم میکند:
.INDENT 0.0
.IP \(bu 2
میتواند قبل از انجام git fetch بررسی کند که آیا pull قبلاً اعمال شده است یا خیر
.IP \(bu 2
امضای روی تگ یا کامیت رأس مشخصشده در pull request را بررسی میکند
.IP \(bu 2
میتواند درخواستهای ادغام اعمالشده را ردیابی کرده و با استفاده از \fBb4 ty\fP به ارسالکنندگان پاسخ دهد
.UNINDENT
.sp
برای دیدن گزینهها و توضیحات آنها، \fBb4 pr \-\-help\fP را ببینید.
.sp
\fIمثالها\fP
.INDENT 0.0
.TP
.B \fBb4 pr [msgid]\fP
بارگیری پیام حاوی pull\-request و اعمال آن بر روی درخت گیت فعلی.
.UNINDENT
.SS b4 ty
.sp
اگر برخی وصلهها را در درخت خود بازیابی و اعمال کردهاید، باید بتوانید «تشکرکننده خودکار» را اجرا کنید که از ردیابی شناسه وصله (patch\-id) و عنوان کامیت استفاده میکند تا بفهمد کدام سری از مواردی که بازیابی کردهاید را قبلاً در درخت خود اعمال نمودهاید. این فرآیند معمولاً بسیار سریع و نسبتاً دقیق است.
.sp
برای ارسال مستقیم نامهها با استفاده از \fB\-S\fP، باید بخش پیکربندیشده \fB[sendemail]\fP را در جایی از فایلهای پیکربندی گیت مربوطه خود داشته باشید. به طور پیشفرض، \fBb4 ty\fP فایلهای .thanks را در دایرکتوری فعلی مینویسد که میتوانید آنها را ویرایش کرده و با دستوری مانند \fBmutt \-f thanks.file\fP ارسال کنید.
.sp
برای دیدن گزینهها و توضیحات آنها، \fBb4 ty \-\-help\fP را ببینید.
.sp
\fIمثالها\fP
.INDENT 0.0
.TP
.B \fBb4 ty \-a \-S\fP
یافتن هر سری بازیابیشده که در مخزن گیت فعلی اعمال کردهاید و ارسال تشکر به تمام اعضای گفتگو.
.TP
.B \fBb4 ty \-a \-S \-\-dry\-run\fP
مشابه بالا، اما به جای ارسال واقعی، ابتدا نشان میدهد که پیام چه خواهد بود.
.UNINDENT
.SS b4 diff
.sp
زیردستور diff اجازه مقایسه دو نسخه مختلف از یک سری وصله را با استفاده از \fBgit range\-diff\fP میدهد. توجه داشته باشید که برای انجام مقایسه range\-diff، هر دو نسخه باید به طور تمیز بر روی درخت فعلی اعمال شوند، که ممکن است همیشه قابل دستیابی نباشد.
.sp
برای دیدن گزینهها و توضیحات آنها، \fBb4 diff \-\-help\fP را ببینید.
.sp
\fIمثالها\fP
.INDENT 0.0
.TP
.B \fBb4 diff [msgid\-of\-vN]\fP
رشته گفتگوی مطابق با msgid مشخصشده را بازیابی میکند و تلاش میکند نسخه قبلی سری را به طور خودکار پیدا کند. در صورت موفقیت، خروجی \fBgit range\-diff\fP را که تفاوتهای وصله را مقایسه میکند، نمایش میدهد.
.UNINDENT
.SS b4 dig
.sp
با داشتن یک کامیت در مخزن محلی گیت، این دستور تلاش میکند تا ارسال اولیه لیست پستی را در یک نمونه public\-inbox پیدا کند. این دستور از چندین راهبرد به ترتیب قابلیت اطمینان استفاده میکند:
.INDENT 0.0
.IP \(bu 2
تطبیق با patch\-id پایدار (چندین الگوریتم diff را امتحان میکند)
.IP \(bu 2
تطبیق بر اساس ایمیل نویسنده و موضوع
.IP \(bu 2
تطبیق بر اساس خط From: درون متن (برای وصلههایی که از آدرسی متفاوت از نویسنده کامیت ارسال شدهاند)
.UNINDENT
.sp
اگر \fB\-\-all\fP مشخص شده باشد، b4 همچنین تلاش خواهد کرد تا با استفاده از تطبیق change\-id یا موضوع، تمام نسخههای دیگر همان سری را پیدا کند.
.sp
برای دیدن گزینهها و توضیحات آنها، \fBb4 dig \-\-help\fP را ببینید.
.sp
\fIمثالها\fP
.INDENT 0.0
.TP
.B \fBb4 dig [commit]\fP
یافتن ارسال لیست پستی برای کامیت دادهشده و چاپ پیوندی به آن.
.TP
.B \fBb4 dig \-a [commit]\fP
یافتن تمام نسخههای سری حاوی کامیت دادهشده.
.TP
.B \fBb4 dig \-w [commit]\fP
یافتن ارسال و نمایش اینکه چه کسانی در ابتدا در To/Cc گنجانده شده بودند.
.TP
.B \fBb4 dig \-m /tmp/thread.mbx [commit]\fP
یافتن ارسال و ذخیره کامل رشته گفتگو به عنوان یک فایل mbox.
.UNINDENT
.SS b4 kr
.sp
این زیردستور امکان نگهداری یک دستهکلید محلی از کلیدهای مشارکتکنندگان را فراهم میکند.
.sp
توجه: این بخش از b4 در حال توسعه فعال است و بهبودهایی برای آینده نزدیک برنامهریزی شده است.
.sp
برای دیدن گزینهها و توضیحات آنها، \fBb4 kr \-\-help\fP را ببینید.
.sp
\fIمثالها\fP
.INDENT 0.0
.TP
.B \fBb4 kr \-\-show\-keys [msgid]\fP
بازیابی رشته گفتگوی مشخصشده و نمایش تمام کلیدهای رمزنگاری مورد استفاده برای تصدیق وصلهها.
.UNINDENT
.SS b4 review (آلفا)
.sp
\fBتوجه:\fP این زیردستور یک پیشنمایش فناوری است. دستورات، پرچمها و قالبهای روی دیسک ممکن است بین نسخهها به شیوههای ناسازگار تغییر کنند.
.sp
این دستور یک جریان کاری بازبینی مبتنی بر TUI را برای نگهدارندگانی که وصلهها را در لیستهای پستی دریافت میکنند فراهم میکند. این ابزار به شما امکان میدهد سریهای دریافتی را ردیابی کنید، تفاوتها را با نظردهی درونخطی بررسی کنید، برچسبهای بازبینی کد را اضافه کنید، ایمیلهای بازبینی ارسال کنید و وصلهها را دریافت (اعمال) نمایید.
.sp
جریان کاری شامل سه مرحله است: ثبتنام یک مخزن، ردیابی یک یا چند سری، و راهاندازی TUI برای بازبینی و اقدام روی آنها.
.sp
برای دیدن گزینهها و توضیحات آنها، \fBb4 review \-\-help\fP و \fBb4 review \-\-help\fP را ببینید.
.sp
\fIمثالها\fP
.INDENT 0.0
.TP
.B \fBb4 review enroll\fP
ثبتنام مخزن فعلی برای ردیابی بازبینی.
.TP
.B \fBb4 review track \fP
ردیابی یک سری با شناسه پیام (message\-id)، آدرس اینترنتی (URL)، یا شناسه تغییر (change\-id).
.TP
.B \fBb4 review tui\fP
راهاندازی رابط کاربری متنی (TUI) بازبینی.
.UNINDENT
.SS b4 prep, trailers, send
.sp
این دستورات امکان آمادهسازی و ارسال یک سری وصله برای بازبینی در لیست پستی را فراهم میکنند. مستندات کامل به صورت آنلاین در آدرس زیر در دسترس است:
.sp
.sp
برای دیدن گزینهها، خروجی دستورات \fBb4 prep \-\-help\fP، \fBb4 trailers \-\-help\fP و \fBb4 send \-\-help\fP را ببینید.
.sp
\fIمثالها\fP
.INDENT 0.0
.TP
.B \fBb4 prep \-n my\-new\-feature \-f v6.4\-rc4\fP
شروع یک شاخه جدید، منشعبشده از تگ \fBv6.4\-rc4\fP، و آمادهسازی آن برای افزودن وصلههای بیشتر.
.TP
.B \fBb4 prep \-\-edit\-cover\fP
ویرایش کاور لتر برای سری فعلی. این مرحله برای اکثر ارسالهای تکوصلهای لازم نیست.
.TP
.B \fBb4 prep \-\-auto\-to\-cc\fP
یافتن تمام آدرسهایی که باید رونوشتی از ارسال سری وصله را دریافت کنند و افزودن آنها به کاور لتر.
.TP
.B \fBb4 prep \-\-check\fP
اجرای بررسیهای پیکربندیشده روی سری شما برای شناسایی هرگونه مشکل احتمالی. برای هسته لینوکس، این کار \fBcheckpatch.pl\fP را با مجموعه پارامترهای توصیهشده اجرا میکند.
.TP
.B \fBb4 send \-o /tmp/outdir\fP
تولید وصلههایی که b4 قصد ارسال آنها را دارد و ذخیره آنها در دایرکتوری مشخصشده. این به شما امکان میدهد سریها را قبل از ارسال واقعی بررسی کنید.
.TP
.B \fBb4 send \-\-preview\-to [addr1@example.com addr2@example.com]\fP
ارسال نسخه \(dqپیشنمایش\(dq از سری برای بررسی توسط شخصی پیش از ارسال آن به بالادست (upstream).
.TP
.B \fBb4 trailers \-u\fP
بازیابی هرگونه برچسب بازبینی کد ارائهشده برای سری شما و اعمال آنها بر روی شاخه فعلی.
.UNINDENT
.SH "پیکربندی (CONFIGURATION)"
.sp
پیکربندی B4 از طریق git\-config(1) انجام میشود، بنابراین اگر جریان کاری شما بر اساس پروژه تغییر میکند، میتوانید آن را در فایل سطح بالای \fB$HOME/.gitconfig\fP یا در فایل اختصاصی هر مخزن \fB.git/config\fP ذخیره کنید.
.sp
برای دیدن گزینههای پیکربندی موجود، مستندات آنلاین را در ببینید.
.SH "پروکسی کردن درخواستها (PROXYING REQUESTS)"
.sp
دستوراتی که درخواستهای راه دور HTTP ایجاد میکنند ممکن است با تنظیم متغیر محیطی \fBHTTPS_PROXY\fP برای استفاده از یک پروکسی پیکربندی شوند، همانطور که در شرح داده شده است.
.SH "پشتیبانی (SUPPORT)"
.sp
لطفاً درخواستهای پشتیبانی را به ایمیل کنید، یا بایگانی لیست را در مرور کنید.
.SH "نویسنده (AUTHOR)"
mricon@kernel.org
مجوز: GPLv2+
.SH "حق نشر (COPYRIGHT)"
بنیاد لینوکس (The Linux Foundation) و مشارکتکنندگان
.\" Generated by docutils manpage writer.
.