| 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 <DATE>
- نمایش بازبینیهای منطبق با مشخصات تاریخ
- -C, --copies
- نمایش فایلهای رونوشتشده
- -k,--keyword <TEXT[+]>
- انجام جستجوی غیرحساس به بزرگی و کوچکی حروف برای یک متن مشخص
- -r,--rev <REV[+]>
- بازبینیها برای انتخاب یا دنبال کردن از آنها
- -L,--line-range <FILE,RANGE[+]>
- دنبال کردن بازه خطوط فایل مشخصشده (آزمایشی)
- --removed
- شامل کردن بازبینیهایی که در آنها فایلها حذف شدهاند
- -m, --only-merges
- نمایش تنها ادغامها (منسوخشده) (به جای آن از -r "merge()" استفاده کنید)
- -u,--user <USER[+]>
- بازبینیهای کامیتشده توسط کاربر
- --only-branch <BRANCH[+]>
- نمایش تنها changesetهای درون شاخه نامگذاریشده مشخص (منسوخشده)
- -b,--branch <BRANCH[+]>
- نمایش changesetهای درون شاخه نامگذاریشده مشخص
- -B,--bookmark <BOOKMARK[+]>
- نمایش changesetهای درون نشانک مشخص
- -P,--prune <REV[+]>
- عدم نمایش بازبینی یا هر یک از نیاکان آن
- -p, --patch
- نمایش وصله (patch)
- -g, --git
- استفاده از قالب diff گسترشیافته git
- -l,--limit <NUM>
- محدود کردن تعداد تغییرات نمایشدادهشده
- -M, --no-merges
- عدم نمایش ادغامها
- --stat
- خروجی خلاصه تغییرات به سبک diffstat
- -G, --graph
- نمایش DAG بازبینیها
- --style <STYLE>
- نمایش با استفاده از فایل نگاشت قالب (منسوخشده)
- -T,--template <TEMPLATE>
- نمایش با قالب
- -I,--include <PATTERN[+]>
- شامل کردن نامهای منطبق با الگوهای مشخصشده
- -X,--exclude <PATTERN[+]>
- مستثنی
کردن
نامهای
منطبق با
الگوهای
مشخصشده
گزینههای مشخصشده با علامت [+] را میتوان چندین بار تعیین کرد
نامهای مستعار (ALIASES)
history