Theppitak's blog

My personal blog.

14 ตุลาคม 2550

Time to Learn Distributed SCM

เรารู้จัก distributed SCM อย่าง GNU arch, Bazaar, Git, Mercurial และชื่อแปลก ๆ อื่น ๆ กันมาพักใหญ่แล้ว บางโครงการอย่าง xorg ก็ได้เปลี่ยนมาใช้ git นานแล้ว แต่ส่วนมากก็ใช้กันในหมู่ hard-core hacker เท่านั้น ส่วนนักพัฒนาทั่วไป ส่วนใหญ่อย่างมากก็ย้ายจาก CVS มา Subversion เท่านั้น แม้แต่โครงการอย่าง KDE หรือ GNOME ก็ยังย้ายมาถึงแค่ SVN นี้เช่นกัน

แต่ชักจะไม่ใช่แค่นั้นแล้ว ใน mailing list ของ GNOME มีการพูดถึงการใช้ distributed SCM กันมาพักใหญ่แล้ว (สรุปใน หน้า GNOME Live พร้อมการเปรียบเทียบตัวเลือกต่าง ๆ)

Ubuntu นั้น ใช้ bazaar มานานแล้ว ในฐานะผู้ดูแล bazaar เองด้วย จนกระทั่งมีการเสนอรูปแบบ deb source ที่ไม่ใช้ pristine tarball แต่ใช้ bazaar working copy ในการแจกจ่าย source รุ่นต่าง ๆ ในตัว

Debian เอง ก็มีการเสนอรูปแบบ deb source ที่ใช้ Git เช่นกัน โดย Joey Hess ได้ เสนอ ว่าถ้าใช้ .dsc + .git.tar.gz แทนที่จะเป็น .dsc + .orig.tar.gz + .diff.gz ในการเก็บ source ก็จะได้ประโยชน์หลายสถาน ตามที่เคยคิดกันไว้นานแล้วในเดเบียน

ก่อนหน้านั้น Joey Hess ได้ สร้างเครื่องมือ ชื่อ pristine-tar สำหรับสร้าง delta ระหว่าง pristine tarball เพื่อให้ git archive สามารถ checkout pristine tar รุ่นต่าง ๆ ออกมาได้ ทำให้ไม่ต้องเก็บ .orig.tar.gz หลายรุ่นใน mirror โดย delta ที่ได้ มีขนาดเท่าที่จำเป็นจริง ๆ (Martin F. Krafft (madduck) พูดถึงอีกวิธีการหนึ่ง สำหรับการ merge กับ upstream branch ผมเองไม่ค่อยเข้าใจที่เขาคุยกันละเอียดนัก แต่พอจับใจความได้ว่า วิธีของ Joey นั้น มุ่งจะใช้ให้เป็นรูปแบบ deb source รุ่นใหม่เลย ไม่ใช่แค่เป็น trick ส่วนตัวของ maintainer)

ถึงเวลาแล้วสินะ ที่จะลงมือหัด distributed SCM อย่างจริงจัง ดู ๆ แล้ว หัด git จะได้ใช้กับ freedesktop.org หลายโครงการ และอาจจะได้ใช้กับ debian ด้วย แต่ถ้าจะทำงานกับ ubuntu หัด bazaar จะได้ประโยชน์มาก ส่วน GNOME นั้น ความเห็นดูยังคละกันอยู่ และมีแนวโน้มที่เป็นไปได้เหมือนกัน ว่าอาจจะใช้ทั้งคู่ รวมทั้ง Mercurial ด้วย ตามแต่นักพัฒนาจะชอบ -_-!

แต่อย่างไรก็ดี.. ตอนนี้ GNOME ยังคงใช้ Subversion อยู่ครับ อย่าเพิ่งตกอกตกใจไป

ป้ายกำกับ: , ,

0 ความเห็น:

แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)

<< กลับหน้าแรก

hacker emblem