บทเรียน - ดูประวัติการแก้ไขใน repository

(บทนี้เป็นบทที่ 3 จาก 9 บทของ บทเรียนการใช้งาน Mercurial บทก่อนหน้าคือ ทำสำเนา repository ที่มีอยู่, บทถัดไปคือ ทำการแก้ไขแรกของคุณ)

หลังจากที่เราได้ทำตามขั้นตอนในบท ทำสำเนา repository ที่มีอยู่ เราก็จะมีสำเนาของ repository ในเครื่องตัวเองชื่อ my-hello

ลองมาดูกันว่า repository นี้มีประวัติการแก้ไขอะไรบ้างกัน เราสามารถดูประวัติได้โดยใช้คำสั่ง log ซึ่งจะพิมพ์สรุปการแก้ไขทุกครั้งที่เกิดขึ้นใน repository โดยเริ่มแสดงจากการแก้ไขครั้งล่าสุดไปจนถึงการแก้ไขครั้งแรก

$ cd my-hello
$ hg log
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

changeset:   0:0a04b987be5a
user:        mpm@selenic.com
date:        Fri Aug 26 01:20:50 2005 -0700
summary:     Create a standard "hello, world" program

เราลองมาทำความเข้าใจความหมายของแต่ละบรรทัดกัน

เราสามารถดูรายละเอียดเพิ่มเติมได้โดยขอให้ Mercurial พิมพ์ผลลัพธ์มากหน่อยผ่านตัวเลือก -v หรือจะใช้ตัวเลือก --debug ที่มีผลในระดับ global กับทุกๆคำสั่งก็ได้:

$ hg log -v
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
files:       Makefile
description:
Create a makefile

(...)

$ hg log --debug
changeset:   1:82e55d328c8ca4ee16520036c0aaace03a5beb65
tag:         tip
parent:      0:0a04b987be5ae354b710cefeba0e2d9de7ad41a9
parent:      -1:0000000000000000000000000000000000000000
manifest:    1:0c7c1d435e6703e03ac6634a7c32da3a082d1600
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
files+:      Makefile
extra:       branch=default
description:
Create a makefile

(...)

ผลลัพธ์จากตัวเลือก -v มีฟิลด์เพิ่มขึ้นมาอีกสองสามอัน

ผลลัพธ์จากตัวเลือก --debug จะแสดงฟิลด์เหล่านี้เพิ่ม (ลองดู DebuggingFeatures):

คำสั่ง log มาพร้อมกับตัวเลือก -r สำหรับดูรายละเอียดของเซ็ตการแก้ไขโดยเจาะจง

$ hg log -r1
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

<!> ตัวเลือก -r สนับสนุน syntax มากมายสำหรับเลือกช่วงของเซ็ตการแก้ไขที่เราต้องการดู แต่เนื่องจากเรามีการแก้ไขแค่ 2 ครั้งในตัวอย่างเราจึงไม่สามารถแสดงวิธีการใช้ตัวเลือกต่างๆได้มากนัก ลองอ่าน manpage เพิ่มเติมดู

นอกจากนั้นก็ยังมีตัวเลือก -p ที่มาพร้อมกับคำสั่ง log สำหรับแสดง patch ของเซ็ตการแก้ไข:

$ hg log -r1 -p
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

diff -r 0a04b987be5a -r 82e55d328c8c Makefile
--- /dev/null   Fri Aug 26 01:20:50 2005 -0700
+++ b/Makefile  Fri Aug 26 01:21:28 2005 -0700
@@ -0,0 +1,1 @@
+all: hello

เราสามารถใช้คำสั่ง tip เพื่อแสดงรายละเอียดของส่วนปลายของ repository คิดซะว่าคำสั่ง tip เป็นทางลัดสำหรับคำสั่ง log -r tip ก็ได้

$ hg tip
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

$ hg log -r tip
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

ตอนนี้เราพอจะมีไอเดียบ้างแล้วว่า repository มีความเป็นมายังไง ถึงเวลาที่จะทำการแก้ไขแรกแล้ว!


CategoryTutorial CategoryThai

ThaiTutorialHistory (last edited 2009-05-19 19:30:56 by localhost)