== บทเรียน - แบ่งปันสิ่งที่คุณแก้ไขกับบุคคลอื่นๆ == ''(บทนี้เป็นบทที่ 6 จาก 9 บทของ[[ThaiTutorial|บทเรียนการใช้งาน Mercurial]] บทก่อนหน้าคือ [[ThaiTutorialShareChange|แบ่งปันสิ่งที่คุณแก้ไขกับ repository อื่น]], บทถัดไปคือ [[ThaiTutorialMerge|รวมประวัติการแก้ไขจาก repository อื่น]])'' ใน[[ThaiTutorialShareChange|บทที่แล้ว]]เราได้เรียนวิธีดึงประวัติการแก้ไขจากอีก repository นึง นอกจากวิธีการดึงแล้ว Mercurial ยังมีวิธีอื่นในการแบ่งปันการแก้ไขของเรากับคนอื่นด้วย โดยวิธีที่ใช้กันแพร่หลายที่สุดก็คือผ่านอีเมล์ หลังจากที่เรา[[Commit|คอมมิท]]การแก้ไขแล้วเราสามารถ[[Export|ส่งออก]]การแก้ไขไปที่ไฟล์ จากนั้นก็แนบไฟล์ดังกล่าวในอีเมล์และส่งอีเมล์ให้คนที่เราต้องการแบ่งปันด้วย คำสั่งสำหรับส่งออกการแก้ไขคือ `export` ในการใช้คำสั่งนี้เราจะต้องระบุป้ายกำกับ, [[RevisionNumber|เลขที่ของครั้งที่แก้ไข]] หรือ [[ChangeSetID|รหัสประจำเซ็ตการแก้ไข]]เพื่อบอก Mercurial ว่าเราต้องการส่งออกอะไร สมมุติว่าเราต้องการส่งออก[[Tip|ส่วนปลาย]]ของ repository `my-hello-share` เราสามารถทำได้โดยพิมพ์ {{{ $ hg export tip # HG changeset patch # User mpm@selenic.com # Date 1209943246 -7200 # Node ID 86794f718fb1ea9e633f7c052757663b8ce90e30 # Parent 82e55d328c8ca4ee16520036c0aaace03a5beb65 Express great joy at existence of Mercurial diff -r 82e55d328c8c -r 86794f718fb1 hello.c --- a/hello.c Fri Aug 26 01:21:28 2005 -0700 +++ b/hello.c Mon May 05 01:20:46 2008 +0200 @@ -12,5 +12,6 @@ int main(int argc, char **argv) { printf("hello, world!\n"); + printf("sure am glad I'm using Mercurial!\n"); return 0; } }}} โดยปกติคำสั่ง `export` จะแค่แสดง patch เพราะฉะนั้นเราจะต้อง redirect ผลลัพธ์ของคำสั่งนี้ไปที่ไฟล์ (หรือใช้ตัวเลือก -o แทน) ไฟล์นี้คือ [[PatchFile|ไฟล์ patch]] ที่มีเนื้อหาในรูปแบบ [[UnifiedDiff|unified diff]] พร้อมกับข้อมูลเพิ่มเติมอีกนิดหน่อยที่บอก Mercurial ว่าจะต้อง[[Import|นำเข้า]]ไฟล์ยังไง เมื่อผู้รับได้รับอีเมล์ของเรา เค้าจะต้องบันทึกไฟล์ที่แนบมาและใช้คำสั่ง `import` เพื่อนำเข้าเซ็ตการแก้ไขใน repository ของตัวเอง บทต่อไปจะอธิบายการ[[ThaiTutorialMerge|รวมประวัติการแก้ไขจาก repository อื่น]]repository ---- CategoryTutorial CategoryThai