18Feb
Creating a Simple Tag vs Creating a Complex Tag
คลีนโค้ด | Category: Software development | No Comments
จากคำถามของคุณพิเชฐที่โพสต์ไว้ “สงสัยเรื่องการทำงานของ SVN ระหว่าง Creating a Simple Tag กับ Creating a Complex Tag แตกต่างกันอย่างไร, ใช้งานต่างกันอย่างไร และใช้งานตอนไหนบ้าง” ช่วงนี้ผมมีเวลาว่างมากขึ้น ค้นหาคำตอบให้คุณพิเชฐและบอกเล่าต่อให้เพื่อนๆ ทุกคนครับ
ก่อนจะพูดถึงเรื่อง
โครงสร้างของ SVN repository แบ่งออกเป็น 3 ส่วน ซึ่งเหมาะในการพัฒนาโปรแกรมหรือระบบ
- trunk: คือ ลำต้น (main-line) ในการพัฒนาโปรแกรม นั่นหมายความว่า โค้ดส่วนนี้ต้องเสถียร
- branches: คือ กิ่งก้านสาขา (side-line) ในการพัฒนาโปรแกรม นั่นหมายความว่า ถ้าเราจะเพิ่มฟีเจอร์ใหม่ให้กับระบบที่เรากำลังพัฒนาอยู่ และไม่อยากให้กระทบกับโค้ดใน trunk
- tags: จะใช้ก็ต่อเมื่อโค้ดเราเสถียรมากพอ
และพร้อม deploy โค้ดชุดนี้ให้ลูกค้าใช้งาน การเก็บเป็น Release Tags คือการ snapshot โค้ดนั่นเอง ทำให้เราควบคุมเวอร์ชั่น และบั๊กที่เกิดขึ้นจากโปรแกรมได้ปัญหาที่เกิดขึ้น เมื่อไม่ทำ Release Tags คือ เวลามี Buglist รายงานกลับมาจากลูกค้าอิงกับโค้ดเวอร์ชั่นเก่า เราจะไม่รู้เลยว่ามีไฟล์ไหนในเวอร์ชั่นนั้นแก้ไปบ้าง สุดท้ายก็ต้องกลับไปไล่ถามโปรแกรมเมอร์ คงจะไม่มีใครตอบได้หมด พอไปดูที่ trunk จะพบว่าโค้ดถูกอัพเดตไปเป็นเวอร์ชั่นใหม่หมดแล้ว
