| BUPSTASH-DIFF(1) | User Commands | BUPSTASH-DIFF(1) |
نام (NAME)
bupstash-diff - مقایسه دو اسنپشات یا یک اسنپشات با دایرکتوری سیستمفایل
خلاصه دستور (SYNOPSIS)
مقایسه دو اسنپشات و چاپ خلاصه تفاوتها در خروجی استاندارد (stdout).
bupstash diff [گزینهها] پرسوجو۱... :: پرسوجو۲...
توضیحات (DESCRIPTION)
دستور bupstash diff فهرست دو اسنپشات را از کارساز (سرور) دوردست واکشی کرده و آنها را مقایسه میکند، سپس خروجی خطوط تفاوت (diff) را در خروجی استاندارد چاپ مینماید. در یک حالت خاص، اگر هر یک از پرسوجوها با './' یا '/' آغاز شود، یک فهرست موقت برای آن دایرکتوری محلی جهت مقایسه ایجاد میگردد.
استفاده از bupstash diff بر اجرای دستور سنتی diff روی خروجی bupstash list-contents ترجیح داده میشود، زیرا هنگام انجام عملیات مقایسه، دقت کامل برچسبهای زمانی و همچنین هش ذخیرهشده فایلها را در نظر میگیرد.
ابزار Bupstash از نادیدهگرفتن موارد مشخص در مقایسه diff برای کمک به تحلیل پشتیبانی میکند. نمونههای کاربردی شامل مقادیر --ignore مانند times برای نادیدهگرفتن برچسب زمانی تغییر فایلها و content برای نادیدهگرفتن تغییرات اندازه و هش فایلها است.
قالب خروجی (OUTPUT FORMAT)
خروجی با ساختار bupstash list-contents سازگار است، با این تفاوت که ابتدای هر خط با یکی از علامتهای + یا - پیشوندگذاری میشود که به ترتیب نشاندهنده موارد حذفشده یا اضافهشده هستند.
مشخصکردن --format قالب خروجی پایه را همانطور که در bupstash-list-contents(1) توضیح داده شده است تغییر میدهد. بدون در نظر گرفتن قالب خروجی، خطوط همچنان با + یا - پیشوندگذاری میشوند.
زبان پرسوجو (QUERY LANGUAGE)
برای مستندات کامل درباره زبان پرسوجو، به bupstash-query-language(7) مراجعه کنید.
حافظه موقت پرسوجو (QUERY CACHING)
دستور diff از سازوکارهای کش (حافظه موقت) پرسوجوی مشابه bupstash-list(1) استفاده میکند؛ برای اطلاعات بیشتر درباره کش پرسوجو به آن صفحه مراجعه کنید.
گزینهها (OPTIONS)
- -r, --repository REPO
- مخزنی که باید به آن متصل شد؛ در صورت پیکربندی دسترسی ssh برای مخازن دوردست، میتواند به شکل ssh://$SERVER/$PATH باشد. در صورت عدم تعیین، از مقدار متغیر BUPSTASH_REPOSITORY استفاده میشود.
- -k, --key KEY
- کلید مورد استفاده برای رمزگشایی دادهها و متادادهها. در صورت تنظیم نشدن، مقدار پیشفرض آن BUPSTASH_KEY است.
- --query-cache PATH
- مسیر فایل حافظه موقت پرسوجو (query-cache)؛ در صورت تنظیم بودن متغیرهای محیطی مربوطه، به ترتیب اولویت پیشفرض یکی از مقادیر زیر است: $BUPSTASH_QUERY_CACHE یا $XDG_CACHE_HOME/.cache/bupstash/bupstash.qcache یا $HOME/.cache/bupstash/bupstash.qcache.
- -i, --ignore
- فهرستی از مشخصههای فایل جداشده با ویرگول (کاما) برای نادیدهگرفتن در مقایسهها. مقادیر معتبر عبارتند از: 'content,dev,devnos,inode,type,perms,nlink,uid,gid,times,xattrs'
- --relaxed
- میانبری برای --ignore 'dev,inode,nlink,uid,gid,times,xattrs' است. این گزینه برای مقایسه محتوا بدون درگیر شدن با متادادههای وابسته به ماشین بسیار کاربردی است.
- --{left,right}-pick PATH
- انجام مقایسه (diff) بر روی یک زیردایرکتوری از پرسوجوی سمت چپ یا راست.
- --indexer-threads N
- تعداد رشتههای پردازنده (threads) برای محاسبه موازی و خطلولهای هش فایلها و خواندن متادادهها. پیشفرض برابر با تعداد پردازندهها است.
- --xattrs
- واکشی ویژگیهای گسترشیافته (xattrs) هنگام نمایهسازی دایرکتوریهای محلی.
- --format FORMAT
- تنظیم قالب خروجی به یکی از موارد 'human' یا 'jsonl'.
- --utc-timestamps
- نمایش و جستجو بر اساس برچسبهای زمانی به وقت جهانی (UTC) به جای زمان محلی.
- --no-progress
- غیرفعالسازی نشانگرهای پیشرفت (اگر stderr یک ترمینال تعاملی نباشد نیز نشانگرهای پیشرفت غیرفعال میشوند).
- -q, --quiet
- اجرای بیصدا؛ شامل --no-progress نیز میشود.
محیط (ENVIRONMENT)
- BUPSTASH_REPOSITORY
- مخزنی که باید به آن متصل شد. در صورت پیکربندی دسترسی ssh میتواند برای مخازن دوردست به شکل ssh://$SERVER/$PATH باشد.
- BUPSTASH_REPOSITORY_COMMAND
- دستوری برای اجرا جهت اتصال به یک نمونه از bupstash-serve(1). این متغیر اتصالات پیچیدهتری را به مخزن برای کاربردهای خاص فراهم میکند.
- BUPSTASH_KEY
- مسیر کلید اصلی که برای رمزگشایی دادهها و متادادهها استفاده خواهد شد.
- BUPSTASH_KEY_COMMAND
- دستوری برای اجرا که باید دادههای کلید را در خروجی چاپ کند؛ میتواند به جای BUPSTASH_KEY برای واکشی کلید از مکانهای دلخواه مانند شبکه یا سایر فضاهای ذخیرهسازی محرمانه به کار رود.
- BUPSTASH_QUERY_CACHE
- مسیر فایل حافظه موقت پرسوجو (query cache) جهت استفاده.
مثالها (EXAMPLES)
مقایسه دو اسنپشات با پرسوجو
$ bupstash diff id="14eb*" :: id="57de*" - -rw-r--r-- 1.1kB hello.txt + -rw-r--r-- 1.3kB goodbye.txt
مقایسه یک اسنپشات با یک دایرکتوری محلی
$ bupstash diff --left-pick files --relaxed id="57de*" :: ./files
همچنین ببینید (SEE ALSO)
bupstash(1), bupstash-list(1), bupstash-keyfiles(7), bupstash-query-language(7)
| 2026-09-01 | bupstash |