HG(LOG) HG(LOG) نام (NAME) hg log - نمایش تاریخچه بازبینی‌های کل مخزن یا فایل‌ها خلاصه دستور (SYNOPSIS) hg log [OPTION]... [FILE] توضیحات (DESCRIPTION) تاریخچه بازبینی‌های فایل‌های مشخص‌شده یا کل پروژه را چاپ می‌کند. اگر بازه‌ای برای بازبینی مشخص نشده باشد، مقدار پیش‌فرض tip:0 است مگر آنکه --follow تنظیم شده باشد. تاریخچه فایل بدون دنبال کردن سابقه تغییر نام یا رونوشت فایل‌ها نمایش داده می‌شود. برای دنبال کردن تاریخچه در میان تغییر نام‌ها و رونوشت‌ها، از -f/--follow به همراه یک نام فایل استفاده کنید. استفاده از --follow بدون نام فایل، تنها نیاکان بازبینی‌های آغازین را نشان می‌دهد. بازبینی‌های آغازین را می‌توان با -r/--rev مشخص کرد، که مقدار پیش‌فرض آن والد دایرکتوری کاری است. به طور پیش‌فرض این دستور شماره بازبینی و شناسه changeset، برچسب‌ها (tags)، والدین غیربدیهی، کاربر، تاریخ و زمان، و خلاصه‌ای از هر کامیت را چاپ می‌کند. هنگامی که سوییچ -v/--verbose استفاده شود، فهرست فایل‌های تغییریافته و پیام کامل کامیت نمایش داده می‌شوند. با گزینه --graph بازبینی‌ها به صورت یک گراف جهت‌دار بدون دور (DAG) با هنر ASCII نمایش داده می‌شوند که تازه‌ترین changeset در بالای آن قرار دارد. کاراکتر 'o' یک changeset است، '@' والد دایرکتوری کاری است، '%' یک changeset درگیر در تداخل ادغام حل‌نشده است، '_' یک شاخه را می‌بندد، 'x' منسوخ است، '*' ناپایدار است، و '+' نشان‌دهنده یک انشعاب (fork) است که در آن changeset خطوط پایین‌تر، والد ادغام 'o' در همان خط می‌باشد. مسیرها در DAG با کاراکترهای '|'، '/' و مانند آن‌ها نشان داده می‌شوند. کاراکتر ':' به جای '|' نشان می‌دهد که یک یا چند بازبینی در یک مسیر حذف شده‌اند. از گزینه‌های -L/--line-range FILE,M:N برای دنبال کردن تاریخچه خطوط M تا N در FILE استفاده کنید. با گزینه -p/--patch تنها قطعات diff اثرگذار بر بازه خطوط مشخص‌شده نمایش داده خواهند شد. این گزینه نیازمند --follow است؛ و می‌توان آن را چندین بار مشخص کرد. در حال حاضر، این گزینه با --graph سازگار نیست. این گزینه آزمایشی است. نکته دستور hg log --patch ممکن است خروجی diff غیرمنتظره‌ای برای changesetهای ادغام تولید کند، زیرا فقط changeset ادغام را با والد نخست آن مقایسه می‌کند. همچنین، تنها فایل‌هایی در :files ظاهر می‌شوند که با هر دو والد متفاوت باشند. نکته به دلایل کارایی، hg log FILE ممکن است تغییرات تکراری ایجادشده در شاخه‌ها را نادیده بگیرد و موارد حذف یا تغییر حالت (mode changes) را نمایش ندهد. برای دیدن تمام این تغییرات، از سوییچ --removed استفاده کنید. نکته تاریخچه حاصل از گزینه‌های -L/--line-range به گزینه‌های diff بستگی دارد؛ به عنوان مثال اگر فاصله‌های خالی (white-spaces) نادیده گرفته شوند، تغییرات مربوطه‌ای که فقط شامل فاصله‌های خالی در بازه خطوط مشخص‌شده هستند فهرست نخواهند شد. چند مثال: • مجموعه‌های تغییرات با توضیحات کامل و فهرست فایل‌ها: hg log -v • مجموعه‌های تغییرات نیاکان دایرکتوری کاری: hg log -f • ۱۰ کامیت آخر در شاخه فعلی: hg log -l 10 -b . • مجموعه‌های تغییراتی که تمامی اصلاحات یک فایل، از جمله موارد حذفی را نمایش می‌دهند: hg log --removed file.c • تمام مجموعه‌های تغییراتی که به یک دایرکتوری مربوط می‌شوند، همراه با diffها، به استثنای ادغام‌ها: hg log -Mp lib/ • تمام شماره‌های بازبینی منطبق با یک کلیدواژه: hg log -k bug --template "{rev}\n" • شناسه هش کامل والد دایرکتوری کاری: hg log -r . --template "{node}\n" • فهرست کردن قالب‌های لاگ موجود: hg log -T list • بررسی اینکه آیا یک changeset مشخص در یک انتشار برچسب‌خورده وجود دارد یا خیر: hg log -r "a21ccf and ancestor(1.9)" • یافتن تمام مجموعه‌های تغییرات توسط یک کاربر در یک بازه زمانی مشخص: hg log -k alice -d "may 2008 to jul 2008" • خلاصه تمام مجموعه‌های تغییرات پس از آخرین برچسب: hg log -r "last(tagged())::" --template "{desc|firstline}\n" • مجموعه‌های تغییرات مؤثر بر خطوط ۱۳ تا ۲۳ در file.c: hg log -L file.c,13:23 • مجموعه‌های تغییرات مؤثر بر خطوط ۱۳ تا ۲۳ در file.c و خطوط ۲ تا ۶ در main.c به همراه وصله (patch): hg log -L file.c,13:23 -L main.c,2:6 -p برای فهرستی از قالب‌های معتبر برای -d/--date، به hg help dates مراجعه کنید. برای اطلاعات بیشتر در مورد مشخص کردن و مرتب‌سازی بازبینی‌ها، به hg help revisions مراجعه کنید. برای اطلاعات بیشتر درباره سبک‌های از پیش بسته‌بندی‌شده و مشخص کردن قالب‌های سفارشی، به hg help templates مراجعه کنید. قالب پیش‌فرضی که توسط دستور log استفاده می‌شود را می‌توان از طریق تنظیم پیکربندی command-templates.log سفارشی‌سازی کرد. در صورت موفقیت، 0 را برمی‌گرداند. گزینه‌ها (OPTIONS) -f, --follow دنبال کردن تاریخچه changeset، یا تاریخچه فایل در میان رونوشت‌ها و تغییر نام‌ها --follow-first تنها دنبال کردن والد نخست changesetهای ادغام (منسوخ‌شده) -d,--date  نمایش بازبینی‌های منطبق با مشخصات تاریخ -C, --copies نمایش فایل‌های رونوشت‌شده -k,--keyword  انجام جستجوی غیرحساس به بزرگی و کوچکی حروف برای یک متن مشخص -r,--rev  بازبینی‌ها برای انتخاب یا دنبال کردن از آن‌ها -L,--line-range  دنبال کردن بازه خطوط فایل مشخص‌شده (آزمایشی) --removed شامل کردن بازبینی‌هایی که در آن‌ها فایل‌ها حذف شده‌اند -m, --only-merges نمایش تنها ادغام‌ها (منسوخ‌شده) (به جای آن از -r "merge()" استفاده کنید) -u,--user  بازبینی‌های کامیت‌شده توسط کاربر --only-branch  نمایش تنها changesetهای درون شاخه نام‌گذاری‌شده مشخص (منسوخ‌شده) -b,--branch  نمایش changesetهای درون شاخه نام‌گذاری‌شده مشخص -B,--bookmark  نمایش changesetهای درون نشانک مشخص -P,--prune  عدم نمایش بازبینی یا هر یک از نیاکان آن -p, --patch نمایش وصله (patch) -g, --git استفاده از قالب diff گسترش‌یافته git -l,--limit  محدود کردن تعداد تغییرات نمایش‌داده‌شده -M, --no-merges عدم نمایش ادغام‌ها --stat خروجی خلاصه تغییرات به سبک diffstat -G, --graph نمایش DAG بازبینی‌ها --style