dpkg-mergechangelogs(1) dpkg suite dpkg-mergechangelogs(1)

dpkg-mergechangelogs - ادغام سه‌طرفه گزارش‌های تغییرات دبیان

dpkg-mergechangelogs [گزینه...] old new-a new-b [out]

این برنامه از ۳ نسخه ارائه‌شده فایل changelog دبیان برای ایجاد یک فایل گزارش تغییرات (changelog) ادغام‌شده استفاده می‌کند. گزارش تغییرات حاصل در فایل out ذخیره می‌شود یا در صورتی که این پارامتر مشخص نشده باشد، به خروجی استاندارد فرستاده می‌شود.

هر مدخل با شماره نسخه آن شناسایی می‌شود و فرض بر این است که این مدخل‌ها تعارضی ندارند، آن‌ها به سادگی به ترتیب درست (بر اساس کاهش شماره نسخه) ادغام می‌شوند. هنگامی که از گزینه --merge-prereleases استفاده می‌شود، بخشی از شماره نسخه پس از آخرین مدک (tilde) حذف می‌شود تا نسخه‌هایی مانند 1.0-1~exp1 و 1.0-1~exp5 یک مدخل یکسان در نظر گرفته شوند. هنگامی که نسخه یکسانی در هر دو فایل new-a و new-b موجود باشد، یک ادغام سه‌طرفه خط‌محور استاندارد امتحان می‌شود (مشروط بر اینکه ماژول Algorithm::Merge در دسترس باشد — این ماژول بخشی از بسته libalgorithm-merge-perl است — در غیر این صورت یک تعارض کلی روی محتوای مدخل دریافت خواهید کرد).

این برنامه در dpkg 1.15.7 معرفی شد.

نادیده گرفتن شماره نسخه هنگامی که مدخل‌ها با UNRELEASED علامت‌گذاری شده‌اند (از dpkg 1.21.0).

این گزینه زمانی مفید است که شما توسعه‌های منشعب‌شده برای نسخه‌هایی دارید که هنوز منتشر نشده‌اند. برای نمونه نسخه 2.1-1 منتشر شده است، سپس توسعه برای نسخه جدید 2.2-1 و سپس 2.3-1 انجام می‌شود، در اینجا منطقی است که در نهایت یک مدخل ادغام‌شده برای 2.3-1 داشته باشید که شامل تمام کارهای توسعه انجام‌شده در 2.2-1 باشد.

حذف بخش بعد از آخرین مدک (tilde) در شماره نسخه هنگام مقایسه نسخه‌ها، جهت تشخیص اینکه آیا دو مدخل قرار است یکسان باشند یا خیر.

این گزینه زمانی مفید است که شما همچنان از همان مدخل گزارش تغییرات استفاده می‌کنید اما شماره نسخه آن را به طور مرتب افزایش می‌دهید. برای نمونه، ممکن است شما نسخه‌های 2.3-1~exp1، 2.3-1~exp2 و... را تا زمان انتشار رسمی 2.3-1 داشته باشید و همگی آن‌ها همان یک مدخل گزارش تغییرات هستند که در طول زمان تکامل یافته‌اند.

نمایش پیام راهنمای نحوه استفاده و خروج.
نمایش نسخه و خروج.

حالت رنگی را تنظیم می‌کند (از dpkg 1.18.5). مقدارهای پذیرفته‌شده در حال حاضر عبارتند از: auto (پیش‌فرض)، always و never.
در صورت تنظیم، برای تصمیم‌گیری در مورد فعال‌سازی پشتیبانی از زبان مادری (Native Language Support)، که به عنوان پشتیبانی از بین‌المللی‌سازی (یا i18n) نیز شناخته می‌شود، استفاده خواهد شد (از dpkg 1.19.0). مقدارهای پذیرفته‌شده عبارتند از: 0 و 1 (پیش‌فرض).

هر چیزی که توسط Dpkg::Changelog تجزیه نشود در طول ادغام از دست می‌رود. این ممکن است مواردی مانند کامنت‌هایی که قرار نبود در آنجا باشند و غیره را شامل شود.

اگر می‌خواهید از این برنامه برای ادغام فایل‌های changelog دبیان در یک مخزن گیت استفاده کنید، ابتدا باید یک گرداننده ادغام (merge driver) جدید را در .git/config یا ~/.gitconfig ثبت کنید:

[merge "dpkg-mergechangelogs"]
   name = debian/changelog merge driver
   driver = dpkg-mergechangelogs -m %O %A %B %A

سپس باید مشخصه merge را برای فایل debian/changelog در .gitattributes درون خود مخزن یا در .git/info/attributes پیکربندی کنید:

debian/changelog merge=dpkg-mergechangelogs
2026-03-06 1.23.7-dirty