'\" t
.\" Title: git-multi-pack-index
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot
.\" Date: 2026-06-29
.\" Manual: راهنمای Git
.\" Source: Git 2.55.0
.\" Language: Persian
.\"
.TH "GIT\-MULTI\-PACK\-INDEX" "1" "2026\-06\-29" "Git 2\&.55\&.0" "راهنمای Git"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "نام (NAME)"
git-multi-pack-index \- نوشتن و اعتبارسنجی ایندکسهای چندبستهای
.SH "خلاصه دستور (SYNOPSIS)"
.sp
.nf
\fIgit multi\-pack\-index\fR [] write [\-\-preferred\-pack=]
[\-\-[no\-]bitmap] [\-\-[no\-]incremental] [\-\-[no\-]stdin\-packs]
[\-\-refs\-snapshot=] [\-\-[no\-]write\-chain\-file]
[\-\-base=]
\fIgit multi\-pack\-index\fR [] compact [\-\-[no\-]incremental]
[\-\-[no\-]bitmap] [\-\-base=] [\-\-[no\-]write\-chain\-file]
\fIgit multi\-pack\-index\fR [] verify
\fIgit multi\-pack\-index\fR [] expire
\fIgit multi\-pack\-index\fR [] repack [\-\-batch\-size=]
.fi
.sp
.SH "توضیحات (DESCRIPTION)"
.sp
نوشتن یا اعتبارسنجی یک فایل ایندکس چندبستهای (MIDX)\&.
.SH "گزینهها (OPTIONS)"
.sp
گزینههای خط فرمان زیر برای تمام زیردستورها قابل استفاده هستند:
.PP
\-\-object\-dir=
.RS 4
از دایرکتوری دادهشده برای مکان اشیای Git استفاده میکند\&. دستور، مسیر
\fI\fR\fB/packs/multi\-pack\-index\fR
را برای فایل MIDX کنونی و مسیر
\fI\fR\fB/packs\fR
را برای فایلهای بسته (pack-files) جهت ایندکسگذاری بررسی میکند\&.
.sp
\fI\fR
باید یک جایگزین (alternate) برای مخزن فعلی باشد\&.
.RE
.PP
\-\-progress, \-\-no\-progress
.RS 4
نمایش پیشرفت را به صراحت فعال یا غیرفعال میکند\&. اگر هیچکدام مشخص نشود، در صورتی که خطای استاندارد به یک ترمینال متصل باشد، پیشرفت نمایش داده میشود\&. این گزینهها توسط زیردستورهای
\fBwrite\fR،
\fBverify\fR،
\fBexpire\fR
و
\fBrepack\fR
پشتیبانی میشوند\&.
.RE
.sp
زیردستورهای زیر در دسترس هستند:
.PP
write
.RS 4
یک فایل MIDX جدید مینویسد\&. گزینههای زیر برای زیردستور
\fBwrite\fR
در دسترس هستند:
.PP
\-\-preferred\-pack=
.RS 4
در صورت مشخص شدن، هنگام وجود نسخههای تکراری از اشیا در بستههای دیگر، اولویت را به این بسته میدهد\&. موارد مشابه برای اشیایی که در بستهٔ ترجیحی یافت نمیشوند، همیشه به نفع نسخهای که در بسته با بالاترین زمان تغییر (mtime) قرار دارد حلوفصل میشود\&. در صورت مشخص نشدن، بسته با کمترین mtime به صورت پیشفرض استفاده میشود\&. بستهٔ ترجیحی باید حداقل دارای یک شیء باشد\&.
.RE
.PP
\-\-[no\-]bitmap
.RS 4
کنترل میکند که آیا یک نگاشت بیتی (بیتمپ / bitmap) چندبستهای نوشته شود یا خیر\&.
.RE
.PP
\-\-stdin\-packs
.RS 4
یک ایندکس چندبستهای مینویسد که تنها شامل مجموعهای از نامهای پایه ایندکس بسته (pack index basenames) است که به صورت خطبهخط از طریق stdin ارائه شدهاند\&.
.RE
.PP
\-\-refs\-snapshot=
.RS 4
همراه با
\fB\-\-bitmap\fR،
به طور اختیاری فایلی را مشخص میکند که حاوی یک «عکسفوری از مراجع» (refs snapshot) است که پیش از بستهبندی مجدد (repacking) گرفته شده است\&.
.sp
یک عکسفوری از مراجع از OIDهای تفکیکشده با خط جدید تشکیل شده است که مربوط به نوک مراجع هستند و معمولاً توسط
\fBgit\fR
\fBrepack\fR
پیش از تولید یک بسته جدید ایجاد میشود\&. یک خط ممکن است به طور اختیاری با نویسهٔ
\fB+\fR
آغاز شود تا نشان دهد مرجع متناظر با آن OID «ترجیحی» (preferred) است (به
\fBpack\&.preferBitmapTips\fR
در
\fBgit-config\fR(1)
مراجعه کنید)\&.
.sp
انتظار میرود فایل ارائهشده در
\fI\fR
قابل خواندن باشد و میتواند شامل مقادیر تکراری باشد\&. (اگر یک OID دادهشده بیش از یک بار تکرار شود، در صورتی که حداقل یک نمونه از آن با نشانگر ویژهٔ
\fB+\fR
شروع شود، به عنوان ترجیحی علامتگذاری میشود)\&.
.RE
.PP
\-\-incremental
.RS 4
یک فایل MIDX افزایشی (incremental) مینویسد که فقط حاوی اشیا و بستههایی است که در لایهٔ MIDX موجود وجود ندارند\&. در صورت لزوم، فایلهای MIDX غیرافزایشی را به حالت افزایشی مهاجرت میدهد\&.
.RE
.PP
\-\-[no\-]write\-chain\-file
.RS 4
هنگامی که به همراه
\fB\-\-incremental\fR
استفاده شود، یک لایه MIDX جدید مینویسد اما فایل multi\-pack\-index\-chain را بهروزرسانی نمیکند\&. چکسام (checksum) لایه جدید در خروجی استاندارد چاپ میشود و به فراخواننده اجازه میدهد زنجیره را خودش سرهم کرده و بنویسد\&. به
\fB\-\-incremental\fR
نیاز دارد\&.
.RE
.PP
\-\-base=
.RS 4
چکسام یک لایه MIDX موجود را برای استفاده به عنوان پایه هنگام نوشتن یک لایه افزایشی جدید مشخص میکند\&. مقدار ویژهٔ
\fBnone\fR
نشان میدهد که لایه جدید نباید پایهای داشته باشد (یعنی تبدیل به یک لایه ریشه میشود)\&. به
\fB\-\-no\-write\-chain\-file\fR
نیاز دارد\&.
.RE
.RE
.PP
compact
.RS 4
یک لایهٔ MIDX جدید مینویسد که تنها شامل اشیا و بستههای موجود در محدودهٔ
\fI\fR
تا
\fI\fR
است، که هر دو آرگومان چکسامهای لایههای موجود در زنجیره MIDX هستند\&.
.PP
\-\-incremental
.RS 4
نتیجه را به جای نوشتن یک MIDX مستقل (stand-alone)، در یک زنجیره MIDX مینویسد\&.
.RE
.PP
\-\-[no\-]bitmap
.RS 4
کنترل میکند که آیا نگاشت بیتی چندبستهای نوشته شود یا خیر\&.
.RE
.PP
\-\-[no\-]write\-chain\-file
.RS 4
هنگامی که به همراه
\fB\-\-incremental\fR
استفاده شود، یک لایه MIDX فشردهشدهٔ جدید مینویسد اما فایل multi\-pack\-index\-chain را بهروزرسانی نمیکند\&. چکسام لایه جدید در خروجی استاندارد چاپ میشود\&. به
\fB\-\-incremental\fR
نیاز دارد\&.
.RE
.PP
\-\-base=
.RS 4
چکسام یک لایه MIDX موجود را مشخص میکند تا به جای استفاده از والد بیواسطهٔ
\fI\fR،
به عنوان پایه برای نتیجه فشردهشده استفاده شود\&. مقدار ویژهٔ
\fBnone\fR
نشان میدهد که نتیجه نباید هیچ پایهای داشته باشد\&.
.RE
.sp
توجه داشته باشید که دستور compact نیازمند نوشتن یک midx نسخه ۲ است که توسط نسخههای Git پیش از v2\&.54 قابل خواندن نیست\&.
.RE
.PP
verify
.RS 4
محتویات فایل MIDX را اعتبارسنجی میکند\&.
.RE
.PP
expire
.RS 4
فایلهای بستهای را که توسط فایل MIDX ردیابی میشوند اما هیچ شیئی از آنها در MIDX ارجاع داده نشده است (به استثنای بستههای
\fB\&.keep\fR
و بستههای زائد/cruft) حذف میکند\&. پس از آن، فایل MIDX را دوباره بازنویسی میکند تا تمامی ارجاعات به این فایلهای بسته حذف شوند\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBنکته\fR
.ps -1
.br
این حالت با فایلهای افزایشی MIDX ناسازگار است\&.
.sp .5v
.RE
.RE
.PP
repack
.RS 4
یک فایل بسته جدید شامل اشیای موجود در فایلهای بستهٔ کوچک ارجاع داده شده توسط multi\-pack\-index ایجاد میکند\&. اگر اندازه مشخصشده با آرگومان
\fB\-\-batch\-size=\fR\fI\fR
صفر باشد، بستهای شامل تمامی اشیای ارجاعدادهشده توسط multi\-pack\-index ایجاد میکند\&. برای یک اندازه دسته (batch size) غیرصفر، فایلهای بسته را با بررسی بستهها از قدیمیترین به جدیدترین انتخاب میکند و «اندازه مورد انتظار» (expected size) را با شمارش تعداد اشیای موجود در بسته که توسط multi\-pack\-index ارجاع داده شدهاند محاسبه نموده، سپس بر تعداد کل اشیای موجود در بسته تقسیم و در اندازه بسته ضرب میکند\&. بستههایی با اندازه مورد انتظار کمتر از اندازه دسته انتخاب میشوند تا زمانی که مجموعه بستهها حداقل به اندازه دسته کل اندازه مورد انتظار برسند، یا تمامی فایلهای بسته بررسی شوند\&. اگر تنها یک فایل بسته انتخاب شود، هیچ عملیاتی انجام نمیشود\&. در صورت ایجاد یک فایل بسته جدید، multi\-pack\-index را برای ارجاع به فایل بسته جدید بازنویسی میکند\&. اجرای بعدی دستور
\fIgit multi\-pack\-index expire\fR
فایلهای بستهای را که بخشی از این دسته بودند حذف خواهد کرد\&.
.sp
اگر مقدار
\fBrepack\&.packKeptObjects\fR
برابر با
\fBfalse\fR
باشد، هر فایل بستهای که دارای فایل
\fB\&.keep\fR
مرتبط باشد برای دستهٔ بازبستهبندی (repack) انتخاب نخواهد شد\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBنکته\fR
.ps -1
.br
این حالت با فایلهای افزایشی MIDX ناسازگار است\&.
.sp .5v
.RE
.RE
.SH "مثالها (EXAMPLES)"
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
نوشتن یک فایل MIDX برای فایلهای بسته در دایرکتوری فعلی
\fB\&.git\fR:
.sp
.if n \{\
.RS 4
.\}
.nf
$ git multi\-pack\-index write
.fi
.if n \{\
.RE
.\}
.sp
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
نوشتن یک فایل MIDX برای فایلهای بسته در دایرکتوری فعلی
\fB\&.git\fR
همراه با نگاشت بیتی (bitmap) متناظر:
.sp
.if n \{\
.RS 4
.\}
.nf
$ git multi\-pack\-index write \-\-preferred\-pack= \-\-bitmap
.fi
.if n \{\
.RE
.\}
.sp
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
نوشتن یک فایل MIDX برای فایلهای بسته در یک مخزن شیء جایگزین (alternate object store):
.sp
.if n \{\
.RS 4
.\}
.nf
$ git multi\-pack\-index \-\-object\-dir write
.fi
.if n \{\
.RE
.\}
.sp
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
اعتبارسنجی فایل MIDX برای فایلهای بسته در دایرکتوری فعلی
\fB\&.git\fR:
.sp
.if n \{\
.RS 4
.\}
.nf
$ git multi\-pack\-index verify
.fi
.if n \{\
.RE
.\}
.sp
.RE
.SH "همچنین ببینید (SEE ALSO)"
.sp
برای اطلاعات بیشتر درباره قابلیت multi\-pack\-index و فرمت فایل آن، به \m[blue]\fBThe Multi\-Pack\-Index Design Document\fR\m[]\&\s-2\u[1]\d\s+2 و \fBgitformat-pack\fR(5) مراجعه کنید\&.
.SH "گیت (GIT)"
.sp
بخشی از مجموعهٔ \fBgit\fR(1)
.SH "یادداشتها (NOTES)"
.IP " 1." 4
The Multi-Pack-Index Design Document
.RS 4
\%file:///usr/share/doc/git-doc/technical/multi-pack-index.html
.RE