
Subversion (SVN) คืออะไร
SVN ( Subversion ) คือระบบ ควบคุม version ของ source code อย่างหนึ่ง ที่ เราสามารถมี version ของ code เช่น version นี้ สามารถทำงานบางอย่างได้แล้ว เป็นต้น และเมื่อเราแก้ๆ แล้วหากทำให้บางอย่างพัง เราก็สามารถ reverse กลับไปใน version ที่ยัง work อยู่ได้และ ระบบที่ สามารถอำนวยความสะดวก เวลาทำงาน
ใน Project เขียน code กันหลายๆ คน ระบบ Subversion จะสามารถรวม code ของทุกคน เข้าอย่างอัตโนมัติ ทำให้ทุกคนมี code ที่ update อยู่เสมอ โดยระบบจะเป็นระบบแบบ Client Server โดยที่ server จะมีโปรแกรม Subversion Server ลงไว้ ซึ่งจะเปิดให้บริการ Subversion และ เก็บ source code ทุกอย่างไว้
Trunk, Branches, Tags ??

Trunk คือ folder ที่ใช้ในการเก็บ source code ส่วนที่เป็นสายการพัฒนาหลักของโปรแกรม
Branches คือ folder ที่ใช้เก็บ source code ส่วนที่แตกสายการพัฒนาออกจากสายการพัฒนาหลัก เช่น มีการใส่ feature ใหม่เพิ่มเข้าไป หรือเป็นการแก้ BUG จากสายการพัฒนาหลัก
Tags คือ folder ที่ใช้เก็บ snapshot ของ source code จากสายการพัฒนาหลัก เช่น เมื่อเราออก version ใหม่ของโปรแกรม ก็ใส่ tag ให้มัน (จริงๆมันเหมือนกับการใส่ชื่อให้กับ revision เพื่อที่จะได้หาได้ว่าที่ revision ไหนเราได้ทำการ release version ใหม่ออกไป)
SVN Filesystem
ลักษณะการเก็บไฟล์บน Subversion server นั้นจะเก็บอยู่ในรูปแบบที่เรียกว่า revision ซึ่ง revision แต่ละนั้นจะมีตัวเลขกำกับไว้ เมื่อมีการ commit ไฟล์ขึ้นสู่ server ตัวเลข revision ก็จะเพิ่มขึ้น และ server จะนำ revision ใหม่นั้นไปวางไว้บนสุดของ revision (HEAD revision)
Reference: ploysics’s blog

SVN = ซอรี่ หวะ นนท์
ฮ่าๆ
ขอบคุณประเทศไทยที่มีคนอย่างมึง . . .