⇤ ← Revision 1 as of 2008-11-22 16:15:07
Size: 5426
Comment: Translate first part of Repository page to Thai.
|
Size: 6569
Comment: Translate a few sections into Thai.
|
Deletions are marked like this. | Additions are marked like this. |
Line 14: | Line 14: |
Sometimes Mercurial users and developers also use the term "repository" when referring to the repository root. But strictly speaking, the `.hg` directory is the "real" repository. | บางครั้งผู้ใช้และผู้พัฒนา Mercurial ใช้คำว่า "repository" เวลาพูดถึงไดเร็คทอรี่ราก แต่จริงๆแล้วไดเร็คทอรี่ `.hg` ต่างหากที่เป็น repository "ตัวจริง" |
Line 19: | Line 19: |
=== Creation === | === การสร้าง repository === |
Line 21: | Line 21: |
Repositories can be [:Clone:cloned] with {{{hg clone}}}, which creates a copy of an existing repository. | การทำ[:Clone:สำเนา]ของ repository ด้วยคำสั่ง {{{hg clone}}} เป็นวิธีนึงในการสร้าง repository ใหม่จาก repository ที่มีอยู่ |
Line 23: | Line 23: |
An existing, already populated but yet untracked directory can be transformed into a repository with {{{hg init}}}, which creates and initializes the {{{.hg}}} subdirectory. | นอกจากนั้นคุณยังสามารถแปลงไดเร็คทอรี่ที่มีอยู่แล้วแต่ไม่ถูกเก็บประวัติเป็น repository ด้วยคำสั่ง {{{hg init}}} ซึ่งจะสร้างไดเร็คทอรี่ย่อย {{{.hg}}} ให้พร้อมใช้งาน |
Line 26: | Line 26: |
=== Tracking Files === | === การเริ่มเก็บประวัติไฟล์ === |
Line 28: | Line 28: |
A file in the working directory that shall be tracked by Mercurial must be added with {{{hg add}}}. [:LocalModifications:Local modifications] to tracked files in the working directory can be [:Commit:committed] with {{{hg commit}}}, which adds a new [:ChangeSet:changeset] to the repository by recording it in the {{{.hg}}} directory. | ถ้าคุณต้องการเริ่มเก็บประวัติของไฟล์ที่อยู่ในไดเร็คทอรี่สำหรับใช้ทำงาน คุณจะต้องเพิ่มไฟล์เหล่านั้นเข้าไปใน Mercurial โดยใช้คำสั่ง {{{hg add}}} จากนั้นคุณสามารถ[:Commit:คอมมิท][:LocalModifications:การแก้ไขบนเครื่อง]ที่เกิดขึ้นกับไฟล์ที่ถูกเก็บประวัติโดยใช้คำสั่ง {{{hg commit}}} ซึ่งจะทำการสร้าง[:ChangeSet:เซ็ตการแก้ไข]ใน repository ในไดเร็คทอรี่ {{{.hg}}} |
Repository
(สำหรับคำแนะนำสั้นๆเกี่ยวกับหลักการทำงานของ Mercurial ลองอ่าน [:ThaiUnderstandingMercurial:ทำความเข้าใจ Mercurial])
ถ้าจะพูดกันให้ถูกแล้วคำว่า repository นั้นหมายถึงไดเร็คทอรี่ชื่อ .hg (จุด hg) ในไดเร็คทอรี่รากของ repository มากกว่า ไดเร็คทอรี่รากก็คือไดเร็คทอรี่ที่เป็นบรรพบุรุษของไดเร็คทอรี่ .hg Mercurial เก็บโครงสร้างข้อมูลต่างๆ – หรือที่เรียกว่าเมตาดาต้า – ภายในไดเร็คทอรี่ .hg นี้
เราเรียกไฟล์และไดเร็คทอรี่ทั้งหมดที่อยู่ในไดเร็คทอรี่เดียวกับ .hg ว่าอยู่ใน[:WorkingDirectory:ไดเร็คทอรี่สำหรับใช้ทำงาน]
วิธีง่ายๆสำหรับจำก็คือ ให้จำว่า repository คือที่ๆเก็บประวัติของโปรเจค ส่วนไดเร็คทอรี่สำหรับใช้ทำงานคือเนื้อหา ณ เวลาใดเวลาหนึ่งในประวัติของโปรเจค
คุณสามารถระบุที่อยู่ repository ในเครื่องของคุณโดยใช้ path ของไดเร็คทอรี่รากของ repository (ใช้กับตัวเลือก -R ในคำสั่งต่างๆ)
บางครั้งผู้ใช้และผู้พัฒนา Mercurial ใช้คำว่า "repository" เวลาพูดถึงไดเร็คทอรี่ราก แต่จริงๆแล้วไดเร็คทอรี่ .hg ต่างหากที่เป็น repository "ตัวจริง"
การสร้าง repository
การทำ[:Clone:สำเนา]ของ repository ด้วยคำสั่ง hg clone เป็นวิธีนึงในการสร้าง repository ใหม่จาก repository ที่มีอยู่
นอกจากนั้นคุณยังสามารถแปลงไดเร็คทอรี่ที่มีอยู่แล้วแต่ไม่ถูกเก็บประวัติเป็น repository ด้วยคำสั่ง hg init ซึ่งจะสร้างไดเร็คทอรี่ย่อย .hg ให้พร้อมใช้งาน
การเริ่มเก็บประวัติไฟล์
ถ้าคุณต้องการเริ่มเก็บประวัติของไฟล์ที่อยู่ในไดเร็คทอรี่สำหรับใช้ทำงาน คุณจะต้องเพิ่มไฟล์เหล่านั้นเข้าไปใน Mercurial โดยใช้คำสั่ง hg add จากนั้นคุณสามารถ[:Commit:คอมมิท][:LocalModifications:การแก้ไขบนเครื่อง]ที่เกิดขึ้นกับไฟล์ที่ถูกเก็บประวัติโดยใช้คำสั่ง hg commit ซึ่งจะทำการสร้าง[:ChangeSet:เซ็ตการแก้ไข]ใน repository ในไดเร็คทอรี่ .hg
The working directory can be restored with hg update to any previously committed state by specifying the requested changeset with its [:ChangeSetID:changeset ID]. Use hg parents to see the currently checked out revision (see [:Parent]).
The last commit in a repository can be undone with hg rollback (see [:Rollback]).
Transferring Changesets
Changesets can be transferred from one repository to another with hg pull, hg push, hg export and hg import (see [:Pull], [:Push], [:Export], [:Import], [:CommunicatingChanges]).
Checking Integrity
Checking the internal integrity of a repository (the contents of .hg) can be done with hg verify.
Structure
The .hg directory of a repository contains (incomplete listing):
The [:Manifest:manifest] — Files .hg/store/00manifest.i and .hg/store/00manifest.d
Describes the file contents of the repository at a particular changeset ID. Stored in [:Revlog:revlog] format.
The [:Changelog:changelog] — Files .hg/store/00changelog.i and .hg/store/00changelog.d
- Contains all changesets. Stored in revlog format.
A revlog per tracked file — Files .hg/store/data/<encoded path>.i and .hg/store/data/<encoded path>.d
<encoded path> is the path of the tracked file in the working directory, encoded according to [:CaseFoldingPlan].
The [:DirState:dirstate] — File .hg/dirstate
- Tracks various information about the working directory.
Note that for small revlogs, the revlog data file (*.d) may be missing, because its content may be interleaved into the corresponding index file (*.i) (see also [:RevlogNG]).
Backup
Backing up a repository can be done by using push/pull/clone to a backup repository. A repository which is not actively written to (by other processes concurrently running on the computer) can be backed-up by backing-up the repo directory using normal directory/file backup procedures (like tar, zip, etc). The .hg directory is [:CaseFolding:case folding] tolerant, which means, it can for example be copied onto a FAT filesystem (see also [:BackUp], [:CaseFoldingPlan]).
See also
[:ManPages]
[:RepoSamples]