| git-annex-config(1) | General Commands Manual | git-annex-config(1) |
نام (NAME)
git-annex-config - پیکربندی ذخیرهشده در شاخه git-annex
خلاصه دستور (SYNOPSIS)
git annex config --set name value
git annex config --get name
git annex config --unset name
git annex config --show-origin name
توضیحات (DESCRIPTION)
تنظیم یا دریافت تنظیمات پیکربندی ذخیرهشده در شاخه git-annex.
برخلاف تنظیمات git config، این تنظیمات پس از همگامسازی شاخههای git-annex، در تمامی رونوشتهای (clones) مخزن قابل مشاهده هستند.
این تنظیمات را میتوان بر اساس هر مخزن با استفاده از git config بازنویسی کرد.
برنامه git-annex شاخه git-annex را برای همه تنظیمات git config که بر آن تاثیر میگذارند بررسی نمیکند (تنظیماتی که در بخش CONFIGURATION صفحه راهنمای git-annex فهرست شدهاند). تنها برای تعداد کمی از آنها منطقی است که طوری تنظیم شوند که تمامی کلونهای یک مخزن آن را ببینند، بنابراین git-annex فقط به دنبال همین موارد میگردد.
تنظیمات پشتیبانیشده (SUPPORTED SETTINGS)
- annex.numcopies
- به git-annex اعلام میکند که چه تعداد رونوشت از فایلها را باید در تمام مخازن نگهداری کند. مقدار پیشفرض 1 است.
- هنگامی که از git-annex خواسته میشود فایلی را رها (drop) کند، ابتدا بررسی میکند که آیا تعداد رونوشتهای لازم در میان تمامی مخازن دیگری که رونوشتی از فایل را دارند برآورده میشود یا خیر.
- در شرایط غیرعادی، شامل ریموتهای ویژهای که از قفلگذاری پشتیبانی نمیکنند و حذف همزمان محتوای یکسان از چندین مخزن، ممکن است git-annex تنظیم numcopies را نقض کند. با این حال همچنان تضمین میکند که دستکم 1 رونوشت حفظ شود. این رفتار را میتوان با تنظیم annex.mincopies پیکربندی کرد.
- این همان تنظیمی است که دستور git-annex-numcopies(1) آن را پیکربندی میکند. این مقدار را میتوان به ازای هر فایل توسط تنظیم annex.numcopies در فایلهای .gitattributes بازنویسی کرد.
- annex.mincopies
- به git-annex اعلام میکند که ملزم به نگهداری چه تعداد رونوشت از فایلها در تمام مخازن است. مقدار پیشفرض 1 است.
- این گزینه مکمل تنظیم annex.numcopies است. در شرایط غیرعادی، شامل ریموتهای ویژهای که از قفلگذاری پشتیبانی نمیکنند و حذف همزمان محتوای یکسان از چندین مخزن، ممکن است git-annex تنظیم numcopies را نقض کند. در این شرایط غیرعادی، git-annex تضمین میکند که تعداد رونوشتها هرگز به کمتر از mincopies نرسد.
- ایده خوبی است که فقط به تنظیم mincopies اتکا نکنید. numcopies را نیز روی عددی بزرگتر تنظیم کنید و mincopies را روی حداقل مقداری که با آن آسودهخاطر هستید نگه دارید. تنظیم mincopies روی عددی بزرگ، به جای تنظیم numcopies، در برخی موارد مانع از رها کردن محتوا در شرایط کاملاً امن خواهد شد.
- این همان تنظیمی است که دستور git-annex-mincopies(1) آن را پیکربندی میکند. این مقدار را میتوان به ازای هر فایل توسط تنظیم annex.mincopies در فایلهای .gitattributes بازنویسی کرد.
- annex.largefiles
- برای پیکربندی اینکه چه فایلهایی به اندازه کافی بزرگ هستند تا به annex اضافه شوند استفاده میشود. این یک عبارت تطبیق با فایلهای بزرگ است، مانند "include=*.mp3 or largerthan(500kb)". برای جزئیات بیشتر درباره نحو، git-annex-matching-expression(1) را ببینید.
- این گزینه رفتار هر دو ابزار git-annex و git را هنگام اضافه کردن فایلها به مخزن پیکربندی میکند. بهطور پیشفرض، git-annex add همه فایلها را به annex اضافه میکند (به جز فایلهای نقطهدار و فایلهای داخل دایرکتوریهای نقطهدار)، و git add فایلها را به git اضافه میکند (مگر اینکه پیشتر به annex افزوده شده باشند). زمانی که annex.largefiles پیکربندی شده باشد، هر دو دستور git annex add و git add فایلهای بزرگ منطبق را به annex و سایر فایلها را به git اضافه خواهند کرد.
- سایر دستورات git-annex نیز از annex.largefiles پیروی میکنند، از جمله git annex import، git annex addurl، git annex importfeed، git-annex assist و git-annex assistant.
- این گزینه یک مقدار پیشفرض تعیین میکند که میتواند توسط مشخصههای annex.largefiles در فایلهای .gitattributes یا توسط git config بازنویسی شود.
- annex.dotfiles
- بهطور معمول، فرض میشود فایلهای نقطهدار و فایلهای درون پوشههای نقطهدار، فایلهای پیکربندی مانند .gitignore هستند که محتوای آنها همیشه باید بخشی از مخزن git باشد، بنابراین به annex اضافه نخواهند شد. تنظیم annex.dotfiles روی true باعث میشود این فایلها همانند هر فایل دیگری به annex افزوده شوند.
- این گزینه یک مقدار پیشفرض تعیین میکند که میتواند توسط annex.dotfiles در git config بازنویسی شود.
- annex.addunlocked
- دستوراتی مانند git-annex add بهطور پیشفرض فایلها را به شکل قفلشده به مخزن اضافه میکنند. این تنظیم میتواند باعث شود آنها فایلها را به صورت قفلنشده اضافه کنند، درست همانند زمانی که دستور git-annex-unlock(1) روی فایلها اجرا شده باشد.
- این گزینه میتواند روی "true" تنظیم شود تا همه فایلها به صورت قفلنشده اضافه شوند، یا میتواند عبارت پیچیدهتری باشد که فایلها را بر اساس نام، اندازه یا محتوا مطابقت دهد. برای جزئیات، git-annex-matching-expression(1) را ببینید.
- این گزینه یک مقدار پیشفرض تعیین میکند که میتواند توسط annex.addunlocked در git config بازنویسی شود.
- annex.autocommit
- روی false تنظیم کنید تا از ثبت (commit) خودکار تغییرات فایلها در مخزن توسط git-annex assistant، git-annex assist و git-annex sync جلوگیری شود.
- این گزینه یک مقدار پیشفرض تعیین میکند که میتواند توسط annex.autocommit در git config بازنویسی شود.
- annex.resolvemerge
- روی false تنظیم کنید تا از حل خودکار تداخلهای ادغام در شاخه جاری توسط git-annex assistant، git-annex sync، git-annex pull، git-annex merge و قلاب git-annex post-receive جلوگیری شود.
- این گزینه یک مقدار پیشفرض تعیین میکند که میتواند توسط annex.resolvemerge در git config بازنویسی شود.
- annex.synccontent
- روی true تنظیم کنید تا git-annex sync بهطور پیشفرض محتوای ضمیمهشده (annexed content) را انتقال دهد.
- روی false تنظیم کنید تا از انتقال محتوای ضمیمهشده توسط git-annex pull و git-annex push جلوگیری شود.
- این گزینه یک مقدار پیشفرض تعیین میکند که میتواند توسط annex.synccontent در git config بازنویسی شود.
- annex.synconlyannex
- روی true تنظیم کنید تا git-annex sync، git-annex pull و git-annex push بهطور پیشفرض تنها بر روی شاخه git-annex و محتوای ضمیمهشده عمل کنند.
- این گزینه یک مقدار پیشفرض تعیین میکند که میتواند توسط annex.synconlyannex در git config بازنویسی شود.
- annex.securehashesonly
- روی true تنظیم کنید تا نشان دهد مخزن تنها باید از هشهای از نظر رمزنگاری امن (SHA2، SHA3) استفاده کند و از هشهای ناامن (MD5، SHA1) برای محتوا استفاده نکند.
- هنگامی که این گزینه تنظیم شود، به محتوای فایلهایی که از هشهای ناامن رمزنگاری استفاده میکنند، اجازه اضافه شدن به مخزن داده نخواهد شد.
- همچنین، git-annex fsck در مورد هرگونه فایل موجود در مخزن که از هشهای ناامن استفاده کند اخطار خواهد داد.
- توجه داشته باشید که این مقدار فقط توسط git annex init از شاخه git-annex خوانده میشود و در تنظیم متناظر git config رونوشت میگردد. بنابراین، تغییرات این مقدار در شاخه git-annex پس از مقداردهی اولیه مخزن، تاثیری بر آن نخواهد داشت.
گزینهها (OPTIONS)
- --set name value
- تنظیم یک مقدار.
- --get name
- دریافت یک مقدار.
- --unset
- حذف تنظیم یک مقدار.
- --show-origin name
- توضیح میدهد که مقدار در کجا پیکربندی شده است؛ خواه در شاخه git-annex، در یک فایل git config یا در فایل .gitattributes. زمانی که یک مقدار در چندین مکان پیکربندی شده باشد، مکان و مقداری که استفاده خواهد شد را نمایش میدهد.
- توجه داشته باشید که این پارامتر میتواند نام یکی از تنظیمات فهرستشده در بالا باشد، اما همچنین میتواند هر تنظیم پیکربندی دیگری باشد که توسط git-annex پشتیبانی میشود. برای نمونه، "annex.backend" را نمیتوان در شاخه git-annex تنظیم کرد، اما میتوان آن را در .gitattributes یا git config تنظیم کرد و این گزینه میتواند مشخص کند کدام تنظیم برای آن به کار خواهد رفت.
- --for-file file
- میتواند در ترکیب با --show-origin استفاده شود تا مشخص کند چه نام فایلی باید در .gitattributes بررسی شود.
- همچنین گزینههای git-annex-common-options(1) نیز قابل استفاده هستند.
مثال (EXAMPLE)
فرض کنید میخواهید از کامیت خودکار تغییرات فایلها توسط git annex sync جلوگیری کنید، به طوری که یک گردش کار کامیت دستی git در تمامی کلونهای مخزن استفاده شود. سپس اجرا کنید:
git annex config --set annex.autocommit false
اگر میخواهید آن را در یک کلون خاص بازنویسی کنید، کافی است از git config در آن کلون استفاده کنید:
git config annex.autocommit true
و برای بازگشت به رفتار پیشفرض:
git annex config --unset annex.autocommit
همچنین ببینید (SEE ALSO)
git-annex(1)
git-config(1)
git-annex-vicfg(1)
نویسنده (AUTHOR)
Joey Hess <id@joeyh.name>