Size: 11412
Comment: Changed tutorial index link to Thai index
|
Size: 12704
Comment: Edit contents to make reading easier.
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
''(หน้านี้เป็นหน้าที่ 2 จาก 9 ของ[:ThaiTutorial:บทเรียน]การใช้งาน Mercurial หน้าก่อนหน้าคือ [:ThaiTutorialClone], หน้าถัดไปคือ [:ThaiTutorialFirstChange])'' | ''(บทนี้เป็นบทที่ 3 จาก 9 บทของ [:ThaiTutorial:บทเรียนการใช้งาน Mercurial] บทก่อนหน้าคือ [:ThaiTutorialClone:ทำสำเนา repository ที่มีอยู่], บทถัดไปคือ [:ThaiTutorialFirstChange:ทำการแก้ไขแรกของคุณ])'' |
Line 5: | Line 5: |
หลังจากที่เราได้ทำตามขั้นตอนใน ThaiTutorialClone เราก็จะมีสำเนาส่วนตัวของ repository ในเครื่องตัวเองชื่อ {{{my-hello}}} | หลังจากที่เราได้ทำตามขั้นตอนในบท [:ThaiTutorialClone:ทำสำเนา repository ที่มีอยู่] เราก็จะมีสำเนาของ repository ในเครื่องตัวเองชื่อ {{{my-hello}}} |
Line 7: | Line 7: |
ลองมาดูกันว่า [:Repository:repository] นี้มีประวัติการแก้ไขอะไรบ้าง เราสามารถดูประวัติได้โดยใช้คำสั่ง {{{log}}} ซึ่งจะพิมพ์สรุปการแก้ไขทุกๆอันที่เกิดขึ้นใน repository โดยเริ่มแสดงจากการแก้ไขล่าสุดไปจนถึงการแก้ไขแรก | ลองมาดูกันว่า [:Repository:repository] นี้มีประวัติการแก้ไขอะไรบ้างกัน เราสามารถดูประวัติได้โดยใช้คำสั่ง {{{log}}} ซึ่งจะพิมพ์สรุปการแก้ไขทุกครั้งที่เกิดขึ้นใน repository โดยเริ่มแสดงจากการแก้ไขครั้งล่าสุดไปจนถึงการแก้ไขครั้งแรก |
Line 24: | Line 24: |
เราลองมาทำความเข้าใจแต่ละบรรทัดของผลลัพธ์กัน | เราลองมาทำความเข้าใจความหมายของแต่ละบรรทัดกัน |
Line 26: | Line 26: |
* ย่อหน้าแต่ละย่อหน้าอธิบายเกี่ยวกับ [:ChangeSet:changeset] หนึ่ง โดย changeset คือการแก้ไขไฟล์ต่างๆที่ถูกจัดกลุ่มเป็นกลุ่มเดียวกัน * ในตัวอย่างด้านบน เราจะเห็นได้ว่าประวัติของ repository ประกอบไปด้วยสอง changesets * {{{changeset}}} ระบุเลขที่ changeset * ตัวเลขแรกก่อนเครื่องหมาย : คือ[:RevisionNumber:ตัวเลข revision]; เป็นตัวเลขสั้นๆที่ใช้ระบุ changeset ใดๆ ตัวเลขนี้มีความหมายเฉพาะสำหรับ repository นี้เท่านั้น * ตัวเลขที่เป็นเลขฐาน 16 หลังเครื่องหมาย : เป็นรูปแบบสั้น (short-form) ของ [:ChangeSetID:changeset ID]; ตัวเลขนี้เป็นตัวแทนของ changeset นี้ในทุกๆ repository ที่มี changeset นี้ ถ้าคุณต้องพูดถึง changeset ใดกับคนอื่นๆ ให้ใช้เลข changeset ID แทนที่จะใช้ตัวเลข revision * {{{tag}}} คือ[:Tag:ป้ายกำกับ] ซึ่งเป็นชื่อที่มีความหมายสำหรับ changeset * คุณสามารถสร้างป้ายกำกับได้มากกว่าหนึ่งป้ายสำหรับ changeset ใดๆ จริงๆแล้วคงมีไม่กี่ changeset ที่มีป้ายกำกับติดตัว เพราะฉะนั้นคุณคงไม่ค่อยเห็นบรรทัด {{{tag}}} บ่อยนัก * ป้ายกำกับพิเศษที่ชื่อ {{{tip}}} เป็นป้ายที่ระบุ[:Tip:ปลาย]ของ repository ซึ่งก็คือ changeset ล่าสุดใน repository เสมอ ถ้าคุณสร้าง changeset ใหม่ (ซึ่งเรากำลังจะทำในอีกแป๊ปเดียว) ป้ายกำกับ {{{tip}}} จะถูกลบออกจาก changeset ล่าสุดและไปเพิ่มที่ changeset ใหม่ที่เราเพิ่งสร้างแทน * {{{user}}} บอกว่าใครเป็นคนสร้าง changeset ค่านี้ไม่มีรูปแบบตายตัว แต่โดยปกติจะเป็นอีเมล์ และบางครั้งก็มีชื่อผู้สร้างด้วย * {{{date}}} บอกว่า changeset นี้ถูกสร้างเมื่อไร Mercurial จะพิมพ์วันที่โดยใช้เขตเวลาที่ผู้สร้าง changeset อยู่ * {{{summary}}} เป็นบรรทัดแรกของคำอธิบาย changeset คำอธิบายนี้จะถูกใส่โดยผู้สร้าง changeset เวลาที่พวกเค้าสร้าง เพื่อบอกคนอื่นๆว่าเค้าได้แก้ไขอะไรไปบ้าง และแก้ไขเพราะอะไร (ลองดู ["ChangeSetComments"]) * {{{parent}}} บอกว่า changeset ไหนเป็น [:Parent:บรรพบุรุษ] ของ changeset นี้ ถ้ามีบรรพบุรุษมากกว่าหนึ่งนั่นก็หมายความว่า changeset นี้ถูก[:Merge:รวม] จากการแก้ไขในหลายๆ repository * โดยปกติแล้ว changeset จะมีบรรพบุรุษแค่อันเดียวนั้นก็คือ changeset ก่อนหน้า อย่างที่เห็นได้ในตัวอย่างด้านบน |
* ย่อหน้าแต่ละย่อหน้าในผลลัพธ์อธิบายเกี่ยวกับ[:ChangeSet:เซ็ตการแก้ไข]แต่ละเซ็ต เซ็ตการแก้ไขก็คือการจัดกลุ่มไฟล์ต่างๆที่ถูกแก้ไขให้เป็นกลุ่มเดียวเวลาคอมมิท * ในตัวอย่างด้านบน repository มีประวัติการแก้ไขสองครั้ง (สองเซ็ตการแก้ไข) * {{{changeset}}} เป็นเลขที่หรือรหัสที่ใช้เพื่อระบุเซ็ตการแก้ไขนั้นๆ * ตัวเลขตัวแรกก่อนเครื่องหมาย : คือ[:RevisionNumber:ครั้งที่แก้ไข] เป็นตัวเลขสั้นๆที่ใช้ระบุเซ็ตการแก้ไขใดๆ ตัวเลขนี้จะมีความหมายเฉพาะสำหรับ repository นี้เท่านั้น * ตัวเลขฐาน 16 หลังเครื่องหมาย : เป็นรูปแบบย่อ (short-form) ของ[:ChangeSetID:รหัสประจำเซ็ตการแก้ไข]; ตัวเลขนี้ใช้เพื่อระบุเซ็ตการแก้ไขนี้ใน repository ใดก็ตามที่มีเซ็ตการแก้ไขนี้อยู่ ถ้าคุณต้องพูดถึงเซ็ตการแก้ไขกับคนอื่นๆให้ใช้รหัสประจำเซ็ตการแก้ไขแทนที่จะใช้ตัวเลขครั้งที่แก้ไข * {{{tag}}} คือ[:Tag:ป้ายกำกับ]ซึ่งเป็นชื่อที่มีความหมายของเซ็ตการแก้ไข * เราสามารถสร้างป้ายกำกับได้มากกว่าหนึ่งป้ายสำหรับเซ็ตการแก้ไข จริงๆแล้วคงมีไม่กี่เซ็ตที่มีป้ายกำกับติดตัวเพราะฉะนั้นคุณคงไม่ค่อยเห็นบรรทัด {{{tag}}} นี้บ่อยนัก * ป้ายกำกับพิเศษที่ชื่อ {{{tip}}} เป็นป้ายที่ระบุ[:Tip:ส่วนปลาย]ของ repository (ที่เป็นเซ็ตการแก้ไขล่าสุดใน repository เสมอ) ถ้าคุณสร้างเซ็ตการแก้ไขใหม่ (ซึ่งเรากำลังจะทำในอีกแป๊ปเดียว) ป้ายกำกับ {{{tip}}} จะถูกลบออกจากเซ็ตการแก้ไขล่าสุดและถูกเพิ่มที่เซ็ตการแก้ไขใหม่ที่เราเพิ่งสร้างแทน * {{{user}}} บอกว่าใครเป็นคนสร้างเซ็ตการแก้ไขนี้ ค่านี้ไม่มีรูปแบบตายตัว แต่โดยปกติจะเป็นอีเมล์และบางครั้งก็มีชื่อผู้สร้างด้วย * {{{date}}} บอกว่าเซ็ตการแก้ไขนี้ถูกสร้างเมื่อไร Mercurial จะพิมพ์วันที่โดยใช้เขตเวลาที่ผู้สร้างเซ็ตการแก้ไขอยู่ * {{{summary}}} เป็นบรรทัดแรกของคำอธิบายของเซ็ตการแก้ไข คำอธิบายนี้จะถูกใส่โดยผู้สร้างเซ็ตการแก้ไขตอนคอมมิทเพื่อบอกคนอื่นว่าเค้าได้แก้ไขอะไรไปบ้าง และแก้ไขเพราะอะไร (ลองดู ["ChangeSetComments"]) * {{{parent}}} บอกว่าเซ็ตการแก้ไขไหนเป็น[:Parent:บรรพบุรุษ]ของเซ็ตการแก้ไขนี้ ถ้ามีบรรพบุรุษมากกว่าหนึ่งนั่นก็หมายความว่าเซ็ตการแก้ไขนี้ถูก[:Merge:รวม]จากส่วนยอดของ repository มากกว่าหนึ่งอัน * โดยปกติแล้วเซ็ตการแก้ไขจะมีบรรพบุรุษแค่อันเดียวนั้นก็คือเซ็ตการแก้ไขก่อนหน้า อย่างที่เห็นได้ในตัวอย่างด้านบน |
Line 70: | Line 70: |
ผลลัพธ์แบบละเอียดนี้มีฟิลด์เพิ่มขึ้นมาอีกสองสามอัน | ผลลัพธ์จากตัวเลือก {{{-v}}} มีฟิลด์เพิ่มขึ้นมาอีกสองสามอัน |
Line 72: | Line 72: |
* {{{files}}} บอกว่าไฟล์ไหนถูกแก้ไขบ้างใน changeset นี้ | * {{{files}}} บอกว่าไฟล์ไหนถูกแก้ไขบ้างในเซ็ตการแก้ไขนี้ |
Line 74: | Line 74: |
* ในตัวอย่างด้านบน เนื่องจากว่าคำอธิบายยาวแค่บรรทัดเดียว เพราะฉะนั้นเราจะไม่เห็นความแตกต่างเวลาใช้ตัวเลือกนี้ | * ในตัวอย่างด้านบน เนื่องจากว่าคำอธิบายยาวแค่บรรทัดเดียวเราจะไม่เห็นความแตกต่างเวลาใช้ตัวเลือกนี้ |
Line 77: | Line 77: |
ผลลัพธ์จากตัวเลือก `--debug` เพิ่มฟิลด์เหล่านี้ (ลองดู [:DebuggingFeatures]): | ผลลัพธ์จากตัวเลือก `--debug` จะแสดงฟิลด์เหล่านี้เพิ่ม (ลองดู [:DebuggingFeatures]): |
Line 79: | Line 79: |
* {{{changeset}}} จะแสดง changeset ID แบบเต็ม * ฟิลด์ {{{parent}}} สองอันที่ระบุ changeset ID ของบรรพบุรุษทั้งสองของ changeset นี้ โดยที่ ID {{{-1:0000000000000000000000000000000000000000}}} แทนค่ากรณีที่ไม่มีบรรพบุรุษ * {{{manifest}}} แสดง [:Manifest:manifest] ID สำหรับ changeset นี้ * {{{file+}}} แสดงไฟล์ที่ถูกเพิ่มใหม่ใน changeset นี้ * {{{file-}}} แสดงไฟล์ที่ถูกลบออกใน changeset นี้ |
* {{{changeset}}} จะแสดงรหัสประจำเซ็ตการแก้ไขแบบเต็ม * ฟิลด์ {{{parent}}} สองอันสำหรับระบุรหัสประจำเซ็ตการแก้ไขของบรรพบุรุษทั้งสองของเซ็ตการแก้ไขนี้ รหัส {{{-1:0000000000000000000000000000000000000000}}} จะแทนค่ากรณีที่ไม่มีบรรพบุรุษ * {{{manifest}}} แสดง[:Manifest:รหัส manifest] สำหรับเซ็ตการแก้ไขนี้ * {{{file+}}} แสดงไฟล์ที่ถูกเพิ่มใหม่ในเซ็ตการแก้ไขนี้ * {{{file-}}} แสดงไฟล์ที่ถูกลบออกในเซ็ตการแก้ไขนี้ |
Line 86: | Line 86: |
คำสั่ง {{{log}}} มาพร้อมกับตัวเลือก {{{-r}}} เพื่อดูรายละเอียดสำหรับ changeset โดยเจาะจง | คำสั่ง {{{log}}} มาพร้อมกับตัวเลือก {{{-r}}} สำหรับดูรายละเอียดของเซ็ตการแก้ไขโดยเจาะจง |
Line 97: | Line 97: |
<!> ตัวเลือก {{{-r}}} สนับสนุน syntax มากมายในการเลือกช่วงของ changesets แต่เนื่องจากเรามีจำนวน changeset ในตัวอย่างค่อนข้างจำกัด เราจึงไม่สามารถแสดงวิธีการใช้ตัวเลือกต่างๆได้ ลองอ่าน [http://www.selenic.com/mercurial/hg.1.html#log manpage] เพิ่มเติมดู | <!> ตัวเลือก {{{-r}}} สนับสนุน syntax มากมายสำหรับเลือกช่วงของเซ็ตการแก้ไขที่เราต้องการดู แต่เนื่องจากเรามีการแก้ไขแค่ 2 ครั้งในตัวอย่างเราจึงไม่สามารถแสดงวิธีการใช้ตัวเลือกต่างๆได้มากนัก ลองอ่าน [http://www.selenic.com/mercurial/hg.1.html#log manpage] เพิ่มเติมดู |
Line 99: | Line 99: |
นอกจากนั้นก็ยังมีตัวเลือก {{{-p}}} ที่มาพร้อมกับคำสั่ง {{{log}}} เพื่อแสดง patch ต่างที่เกี่ยวข้องกับ changeset: | นอกจากนั้นก็ยังมีตัวเลือก {{{-p}}} ที่มาพร้อมกับคำสั่ง {{{log}}} สำหรับแสดง patch ของเซ็ตการแก้ไข: |
Line 116: | Line 116: |
เรายังสามารถใช้คำสั่ง {{{tip}}} เพื่อแสดงรายละเอียดของส่วนปลายหรือ changeset ล่าสุดของ ของ repository คิดซะว่าคำสั่ง {{{tip}}} เป็นทางลัดสำหรับคำสั่ง {{{log -r tip}}} | เราสามารถใช้คำสั่ง {{{tip}}} เพื่อแสดงรายละเอียดของส่วนปลายของ repository คิดซะว่าคำสั่ง {{{tip}}} เป็นทางลัดสำหรับคำสั่ง {{{log -r tip}}} ก็ได้ |
Line 134: | Line 134: |
ถึงตรงนี้เราพอจะมีไอเดียบ้างแล้วว่าเกิดอะไรขึ้นใน repository ถึงเวลาที่จะแก้ไขไฟล์แล้ว! ลุยต่อที่ [:ThaiTutorialFirstChange]! | ตอนนี้เราพอจะมีไอเดียบ้างแล้วว่า repository มีความเป็นมายังไง ถึงเวลาที่จะ[:ThaiTutorialFirstChange:ทำการแก้ไขแรก]แล้ว! |
บทเรียน - ดูประวัติการแก้ไขใน repository
(บทนี้เป็นบทที่ 3 จาก 9 บทของ [:ThaiTutorial:บทเรียนการใช้งาน Mercurial] บทก่อนหน้าคือ [:ThaiTutorialClone:ทำสำเนา repository ที่มีอยู่], บทถัดไปคือ [:ThaiTutorialFirstChange:ทำการแก้ไขแรกของคุณ])
หลังจากที่เราได้ทำตามขั้นตอนในบท [:ThaiTutorialClone:ทำสำเนา repository ที่มีอยู่] เราก็จะมีสำเนาของ repository ในเครื่องตัวเองชื่อ my-hello
ลองมาดูกันว่า [:Repository: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
เราลองมาทำความเข้าใจความหมายของแต่ละบรรทัดกัน
ย่อหน้าแต่ละย่อหน้าในผลลัพธ์อธิบายเกี่ยวกับ[:ChangeSet:เซ็ตการแก้ไข]แต่ละเซ็ต เซ็ตการแก้ไขก็คือการจัดกลุ่มไฟล์ต่างๆที่ถูกแก้ไขให้เป็นกลุ่มเดียวเวลาคอมมิท
- ในตัวอย่างด้านบน repository มีประวัติการแก้ไขสองครั้ง (สองเซ็ตการแก้ไข)
changeset เป็นเลขที่หรือรหัสที่ใช้เพื่อระบุเซ็ตการแก้ไขนั้นๆ
ตัวเลขตัวแรกก่อนเครื่องหมาย : คือ[:RevisionNumber:ครั้งที่แก้ไข] เป็นตัวเลขสั้นๆที่ใช้ระบุเซ็ตการแก้ไขใดๆ ตัวเลขนี้จะมีความหมายเฉพาะสำหรับ repository นี้เท่านั้น
- ตัวเลขฐาน 16 หลังเครื่องหมาย : เป็นรูปแบบย่อ (short-form) ของ[:ChangeSetID:รหัสประจำเซ็ตการแก้ไข]; ตัวเลขนี้ใช้เพื่อระบุเซ็ตการแก้ไขนี้ใน repository ใดก็ตามที่มีเซ็ตการแก้ไขนี้อยู่ ถ้าคุณต้องพูดถึงเซ็ตการแก้ไขกับคนอื่นๆให้ใช้รหัสประจำเซ็ตการแก้ไขแทนที่จะใช้ตัวเลขครั้งที่แก้ไข
tag คือ[:Tag:ป้ายกำกับ]ซึ่งเป็นชื่อที่มีความหมายของเซ็ตการแก้ไข
เราสามารถสร้างป้ายกำกับได้มากกว่าหนึ่งป้ายสำหรับเซ็ตการแก้ไข จริงๆแล้วคงมีไม่กี่เซ็ตที่มีป้ายกำกับติดตัวเพราะฉะนั้นคุณคงไม่ค่อยเห็นบรรทัด tag นี้บ่อยนัก
ป้ายกำกับพิเศษที่ชื่อ tip เป็นป้ายที่ระบุ[:Tip:ส่วนปลาย]ของ repository (ที่เป็นเซ็ตการแก้ไขล่าสุดใน repository เสมอ) ถ้าคุณสร้างเซ็ตการแก้ไขใหม่ (ซึ่งเรากำลังจะทำในอีกแป๊ปเดียว) ป้ายกำกับ tip จะถูกลบออกจากเซ็ตการแก้ไขล่าสุดและถูกเพิ่มที่เซ็ตการแก้ไขใหม่ที่เราเพิ่งสร้างแทน
user บอกว่าใครเป็นคนสร้างเซ็ตการแก้ไขนี้ ค่านี้ไม่มีรูปแบบตายตัว แต่โดยปกติจะเป็นอีเมล์และบางครั้งก็มีชื่อผู้สร้างด้วย
date บอกว่าเซ็ตการแก้ไขนี้ถูกสร้างเมื่อไร Mercurial จะพิมพ์วันที่โดยใช้เขตเวลาที่ผู้สร้างเซ็ตการแก้ไขอยู่
summary เป็นบรรทัดแรกของคำอธิบายของเซ็ตการแก้ไข คำอธิบายนี้จะถูกใส่โดยผู้สร้างเซ็ตการแก้ไขตอนคอมมิทเพื่อบอกคนอื่นว่าเค้าได้แก้ไขอะไรไปบ้าง และแก้ไขเพราะอะไร (ลองดู ["ChangeSetComments"])
parent บอกว่าเซ็ตการแก้ไขไหนเป็น[:Parent:บรรพบุรุษ]ของเซ็ตการแก้ไขนี้ ถ้ามีบรรพบุรุษมากกว่าหนึ่งนั่นก็หมายความว่าเซ็ตการแก้ไขนี้ถูก[:Merge:รวม]จากส่วนยอดของ repository มากกว่าหนึ่งอัน
- โดยปกติแล้วเซ็ตการแก้ไขจะมีบรรพบุรุษแค่อันเดียวนั้นก็คือเซ็ตการแก้ไขก่อนหน้า อย่างที่เห็นได้ในตัวอย่างด้านบน
เราสามารถดูรายละเอียดเพิ่มเติมได้โดยขอให้ 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 มีฟิลด์เพิ่มขึ้นมาอีกสองสามอัน
files บอกว่าไฟล์ไหนถูกแก้ไขบ้างในเซ็ตการแก้ไขนี้
description แสดงคำอธิบายทั้งหมด (ไม่ใช่แค่บรรทัดแรก)
- ในตัวอย่างด้านบน เนื่องจากว่าคำอธิบายยาวแค่บรรทัดเดียวเราจะไม่เห็นความแตกต่างเวลาใช้ตัวเลือกนี้
ผลลัพธ์จากตัวเลือก --debug จะแสดงฟิลด์เหล่านี้เพิ่ม (ลองดู [:DebuggingFeatures]):
changeset จะแสดงรหัสประจำเซ็ตการแก้ไขแบบเต็ม
ฟิลด์ parent สองอันสำหรับระบุรหัสประจำเซ็ตการแก้ไขของบรรพบุรุษทั้งสองของเซ็ตการแก้ไขนี้ รหัส -1:0000000000000000000000000000000000000000 จะแทนค่ากรณีที่ไม่มีบรรพบุรุษ
manifest แสดง[:Manifest:รหัส manifest] สำหรับเซ็ตการแก้ไขนี้
file+ แสดงไฟล์ที่ถูกเพิ่มใหม่ในเซ็ตการแก้ไขนี้
file- แสดงไฟล์ที่ถูกลบออกในเซ็ตการแก้ไขนี้
คำสั่ง 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 ครั้งในตัวอย่างเราจึงไม่สามารถแสดงวิธีการใช้ตัวเลือกต่างๆได้มากนัก ลองอ่าน [http://www.selenic.com/mercurial/hg.1.html#log 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 มีความเป็นมายังไง ถึงเวลาที่จะ[:ThaiTutorialFirstChange:ทำการแก้ไขแรก]แล้ว!