บทเรียน - แบ่งปันสิ่งที่คุณแก้ไขกับบุคคลอื่นๆ

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

ในบทที่แล้วเราได้เรียนวิธีดึงประวัติการแก้ไขจากอีก repository นึง นอกจากวิธีการดึงแล้ว Mercurial ยังมีวิธีอื่นในการแบ่งปันการแก้ไขของเรากับคนอื่นด้วย โดยวิธีที่ใช้กันแพร่หลายที่สุดก็คือผ่านอีเมล์

หลังจากที่เราคอมมิทการแก้ไขแล้วเราสามารถส่งออกการแก้ไขไปที่ไฟล์ จากนั้นก็แนบไฟล์ดังกล่าวในอีเมล์และส่งอีเมล์ให้คนที่เราต้องการแบ่งปันด้วย

คำสั่งสำหรับส่งออกการแก้ไขคือ export ในการใช้คำสั่งนี้เราจะต้องระบุป้ายกำกับ, เลขที่ของครั้งที่แก้ไข หรือ รหัสประจำเซ็ตการแก้ไขเพื่อบอก Mercurial ว่าเราต้องการส่งออกอะไร สมมุติว่าเราต้องการส่งออกส่วนปลายของ 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 แทน) ไฟล์นี้คือ ไฟล์ patch ที่มีเนื้อหาในรูปแบบ unified diff พร้อมกับข้อมูลเพิ่มเติมอีกนิดหน่อยที่บอก Mercurial ว่าจะต้องนำเข้าไฟล์ยังไง

เมื่อผู้รับได้รับอีเมล์ของเรา เค้าจะต้องบันทึกไฟล์ที่แนบมาและใช้คำสั่ง import เพื่อนำเข้าเซ็ตการแก้ไขใน repository ของตัวเอง

บทต่อไปจะอธิบายการรวมประวัติการแก้ไขจาก repository อื่นrepository


CategoryTutorial CategoryThai

ThaiTutorialExport (last edited 2009-05-19 19:30:55 by localhost)