gumara

เหนือกว่าเหตุผล ผมไม่มีเหตุผล

ubuntu

XLR8 of Gnome disk util

ก็ พอดีว่าเห็น palimpsest ใน Ubuntu มันเป็นภาษาอังกฤษทั้งดุ้น ไล่ดูก็พบว่าเป็น Project ที่ GNOME ก็เลยเข้าไปดู เห็นมัน 0% เลขกลมๆ สวยๆ (ใครดิวงานภาครัฐต้องชินกับเลขกลมๆ เข้าไว้ แบบรวมภาษีแล้วด้วยนะ) ก็เลยทำส่งให้ @theppitak (จริงแล้วผมทำไปแค่เกือบ 50% ที่เหลือก็มาจากผู้อื่นอีกที) แล้วก็รอให้ @theppitak เอาเข้า เพื่อจะได้ดึงมาไว้ Ubuntu

จนวันนี้กลับมาบ้าน

launchpad

  1. เห็นอีเมลดังหมายเลข 1 ดังภาพ ว่า Palimpsest เข้าแล้ว
  2. ก็เลยเข้าไปที่ Damn lie ของ GNOME เพื่อไปดูด po ตามเลข 2 ในภาพ
  3. แล้วก็มา Import เข้า Launchpad ตามหมายเลข 3
  4. เสร็จแล้วเพลินๆ ก็เลยกด Twitter เล่น พบหมายเลข 4 ว่า @theppitak เพิ่งเอาขึ้นไปเมื่อ 4 นาทีก่อนหน้า

โลกยุคนี้หมุนเร็วดีเหลือเกิน

ปล.ถ้าไม่ชิ่งไปกินข้าวอาบน้ำ กระบวนการทั้งหมดจนกระทั่งเขียนบล็อคนี้คงไม่เกิน 10นาที

which file to merge

สืบเนื่องจากต้อง merge ไฟล์จาก trunk เข้า branch เพื่ออัพเดทงานแปล ทีนี้ก็ยังงงวิธีการทำงานของ LP อยู่ คือตามเซนส์แล้ว มันควรจะอัพเดทเฉพาะ pot มา แล้วพอเราเห็นว่า pot มันอัพเดทเราค่อย merge po เราเข้ากับ pot ใหม่ แต่กรณ๊ LP นี่ไม่ใช่ครับ คือพี่เล่นไม่อัพเดท pot แต่อัพเดท po ของภาษาเรามาเลย แล้วไอ้ที่อัพเดทของพี่แกนี่ก็ไม่ใช่ว่า merge คำให้แล้วอัพเดทลงมานะ (คือจริงๆพอมี branch แล้วก็ยากที่จะ merge จาก branch เข่ trunk ได้อยู่แล้ว)

ดังนั้นแปลว่า ถ้า po อัพเดทมาจะเกิด conflict ซึ่ง bzr มันก็บอกให้ พร้อมกับแยกไฟล์ให้ โดยถ้าเกิดมี conflict มันจะแยกไฟล์จาก th.po เป็น th.po, th.po.BASE, th.po.OTHER, th.po.THIS คือจากไฟล์เดียวที่ conflict มันแยกให้เป็น 4 ไฟล์ ก็งงดิคับ จริงๆ มันแยกเป็น 2 ไฟล์ก็พอ คือไฟล์ของเราปัจจุบัน กับไฟล์ใหม่จาก trunk แค่นี้พอแล้ว เลยงงเลย

โดยปกติก็ไม่เคย merge งานเอง ปกติถ้าแปลก็มีหน้าที่โยนงานให้ @theppitak ตอนนี้มาดูเองเลยต้องรู้ไว้หน่อย ไม่รู้ VCS ตัวอื่นๆ มันเหมือน bzr ป่าว

ก็พอมันแยกไฟล์แบบนี้เลยผมก็เลยไม่รู้ว่า อันไหนไฟล์ branch อันไหนไฟล์ trunk ก็เลยใช้วิธี ไปดูดจากหย้าเว็บ แล้วมา check sum เอา ผลลัพธ์ตามด้านล่างนี้

gumara@user-desktop:~/bzr/ubiquity-l10n-th$ md5sum /home/gumara/Downloads/th*
cb6cf2e82f58b29aaf72e972d24ed858 /home/gumara/Downloads/th-branch.po
7545f0656854ce65b63a95c642528258 /home/gumara/Downloads/th-trunk.po

gumara@user-desktop:~/bzr/ubiquity-l10n-th$ md5sum po/th*
a530473c367b8bb18ef3ed3c19524df4 po/th.po

ตั้ง branch งานแปล

ครั้งก่อนโน๊ตไว้แล้ว แต่ผิดนิดนึง จดใหม่

วิธีแตก branch

  • เข้าไปโปรเจคที่ต้องการ เลือก summit code
  • สร้างโปรเจคให้ชื่อเดียวกัน แล้วต่อด้วย -l10n-th
  • branch โปรเจคหลักมาไว้ในเครื่อง
  • push ไปไว้ที่ project ใหม่ (push ครั้งแรกมันจะ error ให้ใส่ option ตามที่ bzr มันแนะนำ)
  • ลบของที่อยู่ในเครื่องทิ้งไปแล้ว branch ที่โปรเจคใหม่ลงมา
  • เวลาจะ update ก็ bzr merge โปรเจคหลัก
  • เวลา push ก็ push เข้าไปที่โปรเจคของเรา
  • ได้งานเยอะระดับนึงก็ค่อย push ขึ้นไปที่โปรเจคหลัก

หลังจากวาง branch แล้วก็ลองไล่เช็คดู พบว่า งานที่แปลใน rosetta มันไม่ได้เข้า trank ซึ่งเข้าใจว่า มันคงไป merge กันให้ภายหลัง ทีนี้ ปัญหาคือ ในขณะที่ทำงานก่อนที่มันจะ merge เราจะทำยังไงให้คนที่ทำงานใน trank กับใน rosetta มันไม่ซ้อนกันให้เสียเวลา @anoochit บอกว่า อันนี้มันต้องคุยกันเอง launchpad มันเป็นแค่เครื่องมือ

แต่ผมมองว่าไม่อ่ะ launchpad มันต้องทำให้ดีกว่านี้ ถ้ามันจะอย่างนี้แล้ว มันก็ควรจะแยก branch ของงานแปลมาเป็นอีกโครงการหนึ่งไปเลย ให้คนที่ทำใน trank กับใน rosetta มัน sync ได้ตรงกันตลอดเวลา แล้วค่อยไป merge รวมกันทีหลัง พร้อมๆกัน มันควรจะแบบนี้สิ

create branch for translation

กลับมาจากอยุธยา มาถึงก็โซโล่ ubuntu translation ต่อ ก่อนไปก็ดูๆเรื่องการแปลผ่าน bzr ไว้ แต่เดิมก็เคยงงๆ แต่ตอนนี้หลังจากลองผิดลองถูกมาก็คิดว่าน่าจะได้วิธีที่ถูกต้องละ (เลวมาก ไม่ยอมอ่าน manual) จริงๆ จรูญก็ส่งลิงก์มาให้อ่านละ แต่ยังมีงงๆเรื่องความสัมพันธ์ของโครงการ

ตอนนี้เซ็ต branch เรียบร้อย คิดว่าน่าจะทำถูกวิธีละ คือตามนี้

  • เข้าไปที่หน้า ubuntu-manual ไป register branch จริงๆ ก็คือการสร้าง branch ใหม่นั่นเอง
  • ระบุ branch ใหม่ว่า เจ้าของเป็น lp-l10n-th แล้วมันจะไปโผล่ในหน้า lp-l10n-th เอง
  • ก็ bzr branch จาก lp:ubuntu-manual ออกมา
  • ครบแล้วก็ bzr push กลับขึ้นไปที่ branch ของ lp-l10n-th
  • แล้วก็ทำงานที่ branch ของ lp-l10n-th
  • เวลาจะอัพเดทก็สั่ง bzr pull lp:ubuntu-manual ที่ branch ของ lp-l10n-th
  • เวลาจะ merge เข้าโครงการหลัก มันจะมีปุ่มให้ request merge ที่หน้าเว็บ
  • ทีนี้ถ้าใครต้องการจะแตก branch ไปแปลต่อ ก็ให้แตกไปจาก lp-l10n-th

คิดว่าวิธีนี้น่าจะถูก

ปล.เกลียด bzr มัน branch เฉพาะโฟลเดอร์ไม่ได้ ฮาร์ดดิสก์ก็ตัวกะป๊อย branch มาทั้งโครงการ เพื่อมาแก้ po แค่ไฟล์เดียว

Lucid Release schedule for translator

ก็ อยากรู้ว่าที่จัดการ ubiquity-slideshow ไป มันจะขึ้นใน alpha ถัดไปเลยป่าว จะได้โหลดมาดูว่าของจริงแล้วมันเป็นไง ได้ตามแก้ ก็เลยไปไล่ดู release schedule

พบว่า

  • alpha3 release ตอน February 25th
  • รุ่นนี้มีแค่ 3 alpha จำได้ว่าเมื่อก่อนมันมี 6 alpha นะ
  • March 25th DocumentationStringFreeze
  • April 15th NonLanguagePackTranslationDeadline << แปลว่า ubuntu manual translation ต้องเสร็จตรงนี้?
  • April 22nd LanguagePackTranslationDeadline และ ReleaseCandidate

เกลียด rc ของ ubuntu จริงๆ มันไม่เหมือน final แล้วมันจะ rc ทำไมเนี่ย อ๋อ หรือมันนิ่งแล้วดึง string เข้า แล้ว release rc เลย แบบนี้ป่าวหว่า


Let's chat

Comment

Tags

tweets

Software tracking

Another ~

The Ubuntu Counter Project - user number # 5754
Add to Technorati Favorites