Submitted by mk on 17 June, 2005 - 22:20
Version Control System Comparison
ตัวที่น่าสนใจก็มี
- BitKeeper ท่าจะดีสุด พิสูจน์ตัวเองมาแล้วจาก Linux Kernel แต่ข้อเสียคือเป็น Propietary
- Subversion พัฒนาจาก CVS เปลี่ยนชื่อไฟล์ได้ ลบไดเรคทอรีได้ รับประกันการ commit ว่าสำเร็จทั้งหมดหรือไม่ก็ไม่เกิดอะไรขึ้นทั้งหมด (All or None แบบเดียวกับ Database) แต่เหมือนระบบ tag กับ branch เค้าเถียงกันว่าจะด้อยกว่า CVS (SVN vs CVS)
- CVS กระจอกสุดด้านฟีเจอร์ แต่หาได้บนยูนิกซ์เกือบทุกเครื่อง เกือบทุกโครงการเป็น CVS หมด ข้อดีตรงนี้ทดแทนได้เยอะ เพราะจริงๆ ผมก็ใช้อยู่ 4 คำสั่งเอง checkout, update, add, commit
- CVS NT เป็นรุ่นพัฒนาของ CVS โอเพ่นซอร์สด้วย แต่ไม่มีในตารางเปรียบเทียบนะ เหนือกว่า SVN อยู่โข น่าจะเป็นตัวที่ดีที่สุดของฝั่งโอเพ่นซอร์ส
- Arch เพื่อนที่ทำงานบอกว่าใช้ยาก แนวคิดจะคนละแบบกับตัวอื่น แต่สำหรับ Power User ที่ใช้เป็นแล้วมันจะ Powerful มาก
Comments
plynoi
18 June, 2005 - 00:15
Permalink
Visual Source Safe
Visual Source Safe :P
ตอนนี้ใช้อยู่ เพิ่งทำพังไปเอง
Version .net ห่วยกว่า vb6 ตรึม
LewCPE
18 June, 2005 - 00:18
Permalink
กูใช้ SuperVersion
กูใช้ SuperVersion ว่ะ
เรื่องการ tag กูว่เกิดจากความเคยชินมากกว่าจะเป็นว่าดีไม่ดีนะ จริงๆ แล้วชอบ tag ของ svn มากกว่า
pphetra
18 June, 2005 - 00:33
Permalink
ไปเห็น compare
ไปเห็น compare ความเร็ว ใน svn mailing list
Action CVS SVN
Check out small file set 1 m 17.32 s 26.96 s
Check out large file set 7 m 16.92 s 5m 35.01 s
Tag small file set 1m 29.30 s 0.88 s
Tag large file set 18 m 52.45 s 0.86 s
Update small file set 44.46 s 4.91 s
Update large file set 8 m 53.39 s 38.62 s
Create branch (small set) 1 m 27.99 s 0.80 s
Create branch (large set) 21 m 2.93 s 0.69 s
ส่วนในเอกสาร SVN vs CVS
ในส่วนข้อ 4 เรื่อง concurrent mode
ผมไม่ค่อยเห็นด้วยนะ (มุมมองในแง่ software house นะ)
ตัว notify ของ cvs ไม่ได้ช่วยอะไรเท่าไรหรอกนะ
แล้วอีกอย่าง เวลาเรา assign งาน
เรามักจะ assign ให้เป็นคนคนไปอยู่แล้ว
โอกาสของการแย่งกันแก้ก็เลยไม่ค่อยมี
ยกเว้นพวก configuration file หรือ build file
ที่ถ้าไม่ออกแบบให้เป็น module ก็
อาจจะแย่งกันแก้ได้
ส่วน เรื่อง conflict ถ้ามันเกิด ก็แก้ได้ไม่ยากนิ
pphetra
18 June, 2005 - 00:36
Permalink
ไปเห็น compare
ไปเห็น compare ความเร็ว ใน svn mailing list
Action CVS SVN
Check out small file set 1 m 17.32 s 26.96 s
Check out large file set 7 m 16.92 s 5m 35.01 s
Tag small file set 1m 29.30 s 0.88 s
Tag large file set 18 m 52.45 s 0.86 s
Update small file set 44.46 s 4.91 s
Update large file set 8 m 53.39 s 38.62 s
Create branch (small set) 1 m 27.99 s 0.80 s
Create branch (large set) 21 m 2.93 s 0.69 s
ส่วนในเอกสาร SVN vs CVS
ในส่วนข้อ 4 เรื่อง concurrent mode
ผมไม่ค่อยเห็นด้วยนะ (มุมมองในแง่ software house นะ)
ตัว notify ของ cvs ไม่ได้ช่วยอะไรเท่าไรหรอกนะ
แล้วอีกอย่าง เวลาเรา assign งาน
เรามักจะ assign ให้เป็นคนคนไปอยู่แล้ว
โอกาสของการแย่งกันแก้ก็เลยไม่ค่อยมี
ยกเว้นพวก configuration file หรือ build file
ที่ถ้าไม่ออกแบบให้เป็น module ก็
อาจจะแย่งกันแก้ได้
ส่วน เรื่อง conflict ถ้ามันเกิด ก็แก้ได้ไม่ยากนิ
mk
18 June, 2005 - 07:08
Permalink
ผมถึงให้น้ำหนักกับการ "หาง่าย" ค่อนข้างเยอะไงครับ เพราะเครื่องไหนๆ ก็มี ยิ่งใช้กับโครงการที่เป็น CVS อยู่แล้ว ก็เหมือนบังคับไปในตัว
แต่ SVN ก็น่าสนใจตรงฟีเจอร์ง่ายๆ อย่างเปลี่ยนชื่อนี่ล่ะ เรื่องความเร็วหรือการ tag สำหรับผมตอนนี้มันยังไม่ต้องการอะไรขนาดนั้นนะ (หรือเราต้องคิดเผื่อการ Scalability แต่แรกนะ)
Add new comment