BUPSTASH-DIFF(1) User Commands BUPSTASH-DIFF(1)

bupstash-diff - مقایسه دو اسنپشات یا یک اسنپشات با دایرکتوری سیستمفایل

مقایسه دو اسنپ‌شات و چاپ خلاصه تفاوت‌ها در خروجی استاندارد (stdout).

bupstash diff [گزینه‌ها] پرس‌وجو۱... :: پرس‌وجو۲...

دستور bupstash diff فهرست دو اسنپ‌شات را از کارساز (سرور) دوردست واکشی کرده و آن‌ها را مقایسه می‌کند، سپس خروجی خطوط تفاوت (diff) را در خروجی استاندارد چاپ می‌نماید. در یک حالت خاص، اگر هر یک از پرس‌وجوها با './' یا '/' آغاز شود، یک فهرست موقت برای آن دایرکتوری محلی جهت مقایسه ایجاد می‌گردد.

استفاده از bupstash diff بر اجرای دستور سنتی diff روی خروجی bupstash list-contents ترجیح داده می‌شود، زیرا هنگام انجام عملیات مقایسه، دقت کامل برچسب‌های زمانی و همچنین هش ذخیره‌شده فایل‌ها را در نظر می‌گیرد.

ابزار Bupstash از نادیده‌گرفتن موارد مشخص در مقایسه diff برای کمک به تحلیل پشتیبانی می‌کند. نمونه‌های کاربردی شامل مقادیر --ignore مانند times برای نادیده‌گرفتن برچسب زمانی تغییر فایل‌ها و content برای نادیده‌گرفتن تغییرات اندازه و هش فایل‌ها است.

خروجی با ساختار bupstash list-contents سازگار است، با این تفاوت که ابتدای هر خط با یکی از علامت‌های + یا - پیشوندگذاری می‌شود که به ترتیب نشان‌دهنده موارد حذف‌شده یا اضافه‌شده هستند.

مشخص‌کردن --format قالب خروجی پایه را همان‌طور که در bupstash-list-contents(1) توضیح داده شده است تغییر می‌دهد. بدون در نظر گرفتن قالب خروجی، خطوط همچنان با + یا - پیشوندگذاری می‌شوند.

برای مستندات کامل درباره زبان پرس‌وجو، به bupstash-query-language(7) مراجعه کنید.

دستور diff از سازوکارهای کش (حافظه موقت) پرس‌وجوی مشابه bupstash-list(1) استفاده می‌کند؛ برای اطلاعات بیشتر درباره کش پرس‌وجو به آن صفحه مراجعه کنید.

مخزنی که باید به آن متصل شد؛ در صورت پیکربندی دسترسی ssh برای مخازن دوردست، می‌تواند به شکل ssh://$SERVER/$PATH باشد. در صورت عدم تعیین، از مقدار متغیر BUPSTASH_REPOSITORY استفاده می‌شود.
کلید مورد استفاده برای رمزگشایی داده‌ها و متاداده‌ها. در صورت تنظیم نشدن، مقدار پیش‌فرض آن BUPSTASH_KEY است.
مسیر فایل حافظه موقت پرس‌وجو (query-cache)؛ در صورت تنظیم بودن متغیرهای محیطی مربوطه، به ترتیب اولویت پیش‌فرض یکی از مقادیر زیر است: $BUPSTASH_QUERY_CACHE یا $XDG_CACHE_HOME/.cache/bupstash/bupstash.qcache یا $HOME/.cache/bupstash/bupstash.qcache.
فهرستی از مشخصه‌های فایل جداشده با ویرگول (کاما) برای نادیده‌گرفتن در مقایسه‌ها. مقادیر معتبر عبارتند از: 'content,dev,devnos,inode,type,perms,nlink,uid,gid,times,xattrs'
میان‌بری برای --ignore 'dev,inode,nlink,uid,gid,times,xattrs' است. این گزینه برای مقایسه محتوا بدون درگیر شدن با متاداده‌های وابسته به ماشین بسیار کاربردی است.
--{left,right}-pick PATH
انجام مقایسه (diff) بر روی یک زیردایرکتوری از پرس‌وجوی سمت چپ یا راست.
تعداد رشته‌های پردازنده (threads) برای محاسبه موازی و خط‌لوله‌ای هش فایل‌ها و خواندن متاداده‌ها. پیش‌فرض برابر با تعداد پردازنده‌ها است.
واکشی ویژگی‌های گسترش‌یافته (xattrs) هنگام نمایه‌سازی دایرکتوری‌های محلی.
تنظیم قالب خروجی به یکی از موارد 'human' یا 'jsonl'.
نمایش و جستجو بر اساس برچسب‌های زمانی به وقت جهانی (UTC) به جای زمان محلی.
غیرفعال‌سازی نشانگرهای پیشرفت (اگر stderr یک ترمینال تعاملی نباشد نیز نشانگرهای پیشرفت غیرفعال می‌شوند).
اجرای بی‌صدا؛ شامل --no-progress نیز می‌شود.

مخزنی که باید به آن متصل شد. در صورت پیکربندی دسترسی ssh می‌تواند برای مخازن دوردست به شکل ssh://$SERVER/$PATH باشد.
دستوری برای اجرا جهت اتصال به یک نمونه از bupstash-serve(1). این متغیر اتصالات پیچیده‌تری را به مخزن برای کاربردهای خاص فراهم می‌کند.
مسیر کلید اصلی که برای رمزگشایی داده‌ها و متاداده‌ها استفاده خواهد شد.
دستوری برای اجرا که باید داده‌های کلید را در خروجی چاپ کند؛ می‌تواند به جای BUPSTASH_KEY برای واکشی کلید از مکان‌های دلخواه مانند شبکه یا سایر فضاهای ذخیره‌سازی محرمانه به کار رود.
مسیر فایل حافظه موقت پرس‌وجو (query cache) جهت استفاده.

$ 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

bupstash(1), bupstash-list(1), bupstash-keyfiles(7), bupstash-query-language(7)

2026-09-01 bupstash