Size: 9989
Comment: Link to Thai translation of Changeset page.
|
Size: 10065
Comment: Changed links to Thai version of the pages (some untranslated yet).
|
Deletions are marked like this. | Additions are marked like this. |
Line 8: | Line 8: |
เราเรียกไฟล์และไดเร็คทอรี่ทั้งหมดที่อยู่ในไดเร็คทอรี่เดียวกับ `.hg` ว่าอยู่ใน[:WorkingDirectory:ไดเร็คทอรี่สำหรับใช้ทำงาน] | เราเรียกไฟล์และไดเร็คทอรี่ทั้งหมดที่อยู่ในไดเร็คทอรี่เดียวกับ `.hg` ว่าอยู่ใน[:ThaiWorkingDirectory:ไดเร็คทอรี่สำหรับใช้ทำงาน] |
Line 28: | Line 28: |
ถ้าคุณต้องการเริ่มเก็บประวัติของไฟล์ที่อยู่ในไดเร็คทอรี่สำหรับใช้ทำงาน คุณจะต้องเพิ่มไฟล์เหล่านั้นเข้าไปใน Mercurial โดยใช้คำสั่ง {{{hg add}}} จากนั้นคุณสามารถ[:Commit:คอมมิท][:LocalModifications:การแก้ไขบนเครื่อง]ที่เกิดขึ้นกับไฟล์ที่ถูกเก็บประวัติโดยใช้คำสั่ง {{{hg commit}}} ซึ่งจะทำการสร้าง[:ThaiChangeSet:เซ็ตการแก้ไข]ใน repository ในไดเร็คทอรี่ {{{.hg}}} | ถ้าคุณต้องการเริ่มเก็บประวัติของไฟล์ที่อยู่ในไดเร็คทอรี่สำหรับใช้ทำงาน คุณจะต้องเพิ่มไฟล์เหล่านั้นเข้าไปใน Mercurial โดยใช้คำสั่ง {{{hg add}}} จากนั้นคุณสามารถ[:ThaiCommit:คอมมิท][:ThaiLocalModifications:การแก้ไขบนเครื่อง]ที่เกิดขึ้นกับไฟล์ที่ถูกเก็บประวัติโดยใช้คำสั่ง {{{hg commit}}} ซึ่งจะทำการสร้าง[:ThaiChangeSet:เซ็ตการแก้ไข]ใน repository ในไดเร็คทอรี่ {{{.hg}}} |
Line 30: | Line 30: |
คุณสามารถย้อนเนื้อหาในไดเร็คทอรี่สำหรับใช้ทำงานกลับไปเป็นเซ็ตการแก้ไขที่ถูกคอมมิทไปแล้วเวอร์ชั่นใดก็ได้โดยใช้คำสั่ง {{{hg update}}} พร้อมกับระบุ [:ChangeSetID:รหัสประจำเซ็ตการแก้ไข] ใช้คำสั่ง {{{hg parents}}} เพื่อดูเวอร์ชั่นของไฟล์ที่อยู่ในไดเร็คทอรี่สำหรับใช้งาน (ดู [:Parent:บรรพบุรุษ]) | คุณสามารถย้อนเนื้อหาในไดเร็คทอรี่สำหรับใช้ทำงานกลับไปเป็นเซ็ตการแก้ไขที่ถูกคอมมิทไปแล้วเวอร์ชั่นใดก็ได้โดยใช้คำสั่ง {{{hg update}}} พร้อมกับระบุ [:ThaiChangeSetID:รหัสประจำเซ็ตการแก้ไข] ใช้คำสั่ง {{{hg parents}}} เพื่อดูเวอร์ชั่นของไฟล์ที่อยู่ในไดเร็คทอรี่สำหรับใช้งาน (ดู [:ThaiParent:บรรพบุรุษ]) |
Line 32: | Line 32: |
คุณสามารถยกเลิกคอมมิทครั้งสุดท้ายใน repository ได้ด้วยคำสั่ง {{{hg rollback}}} (ดู [:Rollback]) | คุณสามารถยกเลิกคอมมิทครั้งสุดท้ายใน repository ได้ด้วยคำสั่ง {{{hg rollback}}} (ดู [:ThaiRollback]) |
Line 37: | Line 37: |
คุณสามารถถ่ายโอนเซ็ตการแก้ไขจาก repository หนึ่งไปสู่อีก repository ได้โดยใช้คำสั่ง {{{hg pull}}}, {{{hg push}}}, {{{hg export}}} และ {{{hg import}}} (ดู [:Pull:การดึงประวัติการแก้ไข], [:Push:การผลักประวัติการแก้ไข], [:Export:การส่งออกประวัติการแก้ไข], [:Import:การนำเข้าประวัติการแก้ไข], [:CommunicatingChanges]) | คุณสามารถถ่ายโอนเซ็ตการแก้ไขจาก repository หนึ่งไปสู่อีก repository ได้โดยใช้คำสั่ง {{{hg pull}}}, {{{hg push}}}, {{{hg export}}} และ {{{hg import}}} (ดู [:ThaiPull:การดึงประวัติการแก้ไข], [:ThaiPush:การผลักประวัติการแก้ไข], [:ThaiExport:การส่งออกประวัติการแก้ไข], [:ThaiImport:การนำเข้าประวัติการแก้ไข], [:ThaiCommunicatingChanges]) |
Line 49: | Line 49: |
* [:Manifest:มานิเฟสต์] — ประกอบไปด้วยไฟล์ {{{.hg/store/00manifest.i}}} และ {{{.hg/store/00manifest.d}}} ซึ่งทำหน้าที่ระบุเนื้อหาของไฟล์ใน repository ในแต่ละเซ็ตการแก้ไขว่าประกอบไปด้วยอะไรบ้าง ไฟล์มานิเฟสต์ถูกเก็บในรูปแบบ [:Revlog:revlog] * [:Changelog:บันทึกการแก้ไข] — ประกอบไปด้วยไฟล์ {{{.hg/store/00changelog.i}}} และ {{{.hg/store/00changelog.d}}} |
* [:ThaiManifest:มานิเฟสต์] — ประกอบไปด้วยไฟล์ {{{.hg/store/00manifest.i}}} และ {{{.hg/store/00manifest.d}}} ซึ่งทำหน้าที่ระบุเนื้อหาของไฟล์ใน repository ในแต่ละเซ็ตการแก้ไขว่าประกอบไปด้วยอะไรบ้าง ไฟล์มานิเฟสต์ถูกเก็บในรูปแบบ [:ThaiRevlog:revlog] * [:ThaiChangelog:บันทึกการแก้ไข] — ประกอบไปด้วยไฟล์ {{{.hg/store/00changelog.i}}} และ {{{.hg/store/00changelog.d}}} |
Line 54: | Line 54: |
{{{<encoded path>}}} คือ path ของไฟล์ที่ถูกเก็บประวัติในไดเร็คทอรี่สำหรับใช้ทำงาน ซึ่งถูกเข้ารหัสตาม [:CaseFoldingPlan] * ไฟล์ [:DirState:dirstate] — ประกอบไปด้วยไฟล์ {{{.hg/dirstate}}} |
{{{<encoded path>}}} คือ path ของไฟล์ที่ถูกเก็บประวัติในไดเร็คทอรี่สำหรับใช้ทำงาน ซึ่งถูกเข้ารหัสตาม [:ThaiCaseFoldingPlan] * ไฟล์ [:ThaiDirState:dirstate] — ประกอบไปด้วยไฟล์ {{{.hg/dirstate}}} |
Line 63: | Line 63: |
การทำสำรอง repository นั้นสามารถทำได้โดยการผลัก/ดึง/ทำสำเนา repository ต้นฉบับ สำหรับ repository ที่ไม่ค่อยถูกแก้ไขบ่อยๆ (โดยโปรเซสอื่นๆที่ทำงานอยู่บนเครื่องเดียวกัน) คุณสามารถทำสำรองได้โดยใช้วิธีทำสำรองไดเร็คทอรี่/ไฟล์ปกติ (เช่น tar, zip, ฯลฯ) ไดเร็คทอรี่ {{{.hg}}} นั้นมีคุณสมบัติทนต่อ [:CaseFolding:case folding] ซึ่งหมายความว่าคุณสามารถคัดลอกไดเร็คทอรี่นี้ไปที่ระบบไฟล์แบบ FAT ได้ (ลองดู [:BackUp], [:CaseFoldingPlan]) | การทำสำรอง repository นั้นสามารถทำได้โดยการผลัก/ดึง/ทำสำเนา repository ต้นฉบับ สำหรับ repository ที่ไม่ค่อยถูกแก้ไขบ่อยๆ (โดยโปรเซสอื่นๆที่ทำงานอยู่บนเครื่องเดียวกัน) คุณสามารถทำสำรองได้โดยใช้วิธีทำสำรองไดเร็คทอรี่/ไฟล์ปกติ (เช่น tar, zip, ฯลฯ) ไดเร็คทอรี่ {{{.hg}}} นั้นมีคุณสมบัติทนต่อ [:ThaiCaseFolding:case folding] ซึ่งหมายความว่าคุณสามารถคัดลอกไดเร็คทอรี่นี้ไปที่ระบบไฟล์แบบ FAT ได้ (ลองดู [:ThaiBackUp], [:ThaiCaseFoldingPlan]) |
Repository
(สำหรับคำแนะนำสั้นๆเกี่ยวกับหลักการทำงานของ Mercurial ลองอ่าน [:ThaiUnderstandingMercurial:ทำความเข้าใจ Mercurial])
ถ้าจะพูดกันให้ถูกแล้วคำว่า repository นั้นหมายถึงไดเร็คทอรี่ชื่อ .hg (จุด hg) ในไดเร็คทอรี่รากของ repository มากกว่า ไดเร็คทอรี่รากก็คือไดเร็คทอรี่ที่เป็นบรรพบุรุษของไดเร็คทอรี่ .hg Mercurial เก็บโครงสร้างข้อมูลต่างๆ – หรือที่เรียกว่าเมตาดาต้า – ภายในไดเร็คทอรี่ .hg นี้
เราเรียกไฟล์และไดเร็คทอรี่ทั้งหมดที่อยู่ในไดเร็คทอรี่เดียวกับ .hg ว่าอยู่ใน[:ThaiWorkingDirectory:ไดเร็คทอรี่สำหรับใช้ทำงาน]
วิธีง่ายๆสำหรับจำก็คือ ให้จำว่า repository คือที่ๆเก็บประวัติของโปรเจค ส่วนไดเร็คทอรี่สำหรับใช้ทำงานคือเนื้อหา ณ เวลาใดเวลาหนึ่งในประวัติของโปรเจค
คุณสามารถระบุที่อยู่ repository ในเครื่องของคุณโดยใช้ path ของไดเร็คทอรี่รากของ repository (ใช้กับตัวเลือก -R ในคำสั่งต่างๆ)
บางครั้งผู้ใช้และผู้พัฒนา Mercurial ใช้คำว่า "repository" เวลาพูดถึงไดเร็คทอรี่ราก แต่จริงๆแล้วไดเร็คทอรี่ .hg ต่างหากที่เป็น repository "ตัวจริง"
การสร้าง repository
การทำ[:ThaiClone:สำเนา]ของ repository ด้วยคำสั่ง hg clone เป็นวิธีนึงในการสร้าง repository ใหม่จาก repository ที่มีอยู่
นอกจากนั้นคุณยังสามารถแปลงไดเร็คทอรี่ที่มีอยู่แล้วแต่ไม่ถูกเก็บประวัติเป็น repository ด้วยคำสั่ง hg init ซึ่งจะสร้างไดเร็คทอรี่ย่อย .hg ให้พร้อมใช้งาน
การเริ่มเก็บประวัติไฟล์
ถ้าคุณต้องการเริ่มเก็บประวัติของไฟล์ที่อยู่ในไดเร็คทอรี่สำหรับใช้ทำงาน คุณจะต้องเพิ่มไฟล์เหล่านั้นเข้าไปใน Mercurial โดยใช้คำสั่ง hg add จากนั้นคุณสามารถ[:ThaiCommit:คอมมิท][:ThaiLocalModifications:การแก้ไขบนเครื่อง]ที่เกิดขึ้นกับไฟล์ที่ถูกเก็บประวัติโดยใช้คำสั่ง hg commit ซึ่งจะทำการสร้าง[:ThaiChangeSet:เซ็ตการแก้ไข]ใน repository ในไดเร็คทอรี่ .hg
คุณสามารถย้อนเนื้อหาในไดเร็คทอรี่สำหรับใช้ทำงานกลับไปเป็นเซ็ตการแก้ไขที่ถูกคอมมิทไปแล้วเวอร์ชั่นใดก็ได้โดยใช้คำสั่ง hg update พร้อมกับระบุ [:ThaiChangeSetID:รหัสประจำเซ็ตการแก้ไข] ใช้คำสั่ง hg parents เพื่อดูเวอร์ชั่นของไฟล์ที่อยู่ในไดเร็คทอรี่สำหรับใช้งาน (ดู [:ThaiParent:บรรพบุรุษ])
คุณสามารถยกเลิกคอมมิทครั้งสุดท้ายใน repository ได้ด้วยคำสั่ง hg rollback (ดู [:ThaiRollback])
การถ่ายโอนประวัติการแก้ไข
คุณสามารถถ่ายโอนเซ็ตการแก้ไขจาก repository หนึ่งไปสู่อีก repository ได้โดยใช้คำสั่ง hg pull, hg push, hg export และ hg import (ดู [:ThaiPull:การดึงประวัติการแก้ไข], [:ThaiPush:การผลักประวัติการแก้ไข], [:ThaiExport:การส่งออกประวัติการแก้ไข], [:ThaiImport:การนำเข้าประวัติการแก้ไข], [:ThaiCommunicatingChanges])
การตรวจสอบความสมบูรณ์
คุณสามารถตรวจสอบสภาพของ repository ว่าเนื้อหาของไดเร็คทอรี่ .hg มีความสมบูรณ์ถูกต้องหรือไม่โดยใช้คำสั่ง hg verify
โครงสร้าง
ไดเร็คทอรี่ .hg ประกอบไปด้วย (ในที่นี่ระบุรายละเอียดเพียงบางส่วนเท่านั้น):
[:ThaiManifest:มานิเฟสต์] — ประกอบไปด้วยไฟล์ .hg/store/00manifest.i และ .hg/store/00manifest.d
ซึ่งทำหน้าที่ระบุเนื้อหาของไฟล์ใน repository ในแต่ละเซ็ตการแก้ไขว่าประกอบไปด้วยอะไรบ้าง ไฟล์มานิเฟสต์ถูกเก็บในรูปแบบ [:ThaiRevlog:revlog]
[:ThaiChangelog:บันทึกการแก้ไข] — ประกอบไปด้วยไฟล์ .hg/store/00changelog.i และ .hg/store/00changelog.d
- ซึ่งเก็บเซ็ตการแก้ไขทั้งหมด บันทึกการแก้ไขถูกเก็บในรูปแบบ revlog เช่นกัน
หนึ่ง revlog ต่อไฟล์ที่ถูกเก็บประวัติ — สำหรับแต่ละไฟล์ที่ถูกเก็บประวัติจะประกอบไปด้วยไฟล์ .hg/store/data/<encoded path>.i และ .hg/store/data/<encoded path>.d
<encoded path> คือ path ของไฟล์ที่ถูกเก็บประวัติในไดเร็คทอรี่สำหรับใช้ทำงาน ซึ่งถูกเข้ารหัสตาม [:ThaiCaseFoldingPlan]
ไฟล์ [:ThaiDirState:dirstate] — ประกอบไปด้วยไฟล์ .hg/dirstate
- มีหน้าที่เก็บข้อมูลต่างๆเกี่ยวกับไดเร็คทอรี่สำหรับใช้ทำงาน
สำหรับ revlog ที่มีขนาดเล็กไฟล์ข้อมูลของ revlog (revlog data file) ซึ่งมีนามสกุล (*.d) อาจจะไม่มีอยู่ เพราะว่าเนื้อหาทั้งหมดของไฟล์อาจแทรกอยู่ในไฟล์ดัชนี้ (index file) ซึ่งมีนามสกุล (*.i) อยู่แล้ว (ลองดู [:RevlogNG])
การทำสำรอง
การทำสำรอง repository นั้นสามารถทำได้โดยการผลัก/ดึง/ทำสำเนา repository ต้นฉบับ สำหรับ repository ที่ไม่ค่อยถูกแก้ไขบ่อยๆ (โดยโปรเซสอื่นๆที่ทำงานอยู่บนเครื่องเดียวกัน) คุณสามารถทำสำรองได้โดยใช้วิธีทำสำรองไดเร็คทอรี่/ไฟล์ปกติ (เช่น tar, zip, ฯลฯ) ไดเร็คทอรี่ .hg นั้นมีคุณสมบัติทนต่อ [:ThaiCaseFolding:case folding] ซึ่งหมายความว่าคุณสามารถคัดลอกไดเร็คทอรี่นี้ไปที่ระบบไฟล์แบบ FAT ได้ (ลองดู [:ThaiBackUp], [:ThaiCaseFoldingPlan])
ข้อมูลเพิ่มเติม
[:ManPages]
[:RepoSamples]