Friday, July 25th, 2008

เมื่อวานเจอปัญหาประหลาดหลังจากลองอัพเดทไฟล์จาก svn ใน Eclipse กลับเจอข้อความแจ้งเตือนประหลาดบอก client ที่ใช้เก่าเกินไป แต่เครื่องเพื่อนกลับไม่มีปัญหา ลองเข้าเว็บ Subclipse ปรากฏว่ามีรุ่นใหม่ออกมาแล้วเลยจัดแจงอัพเดทซะเลยแล้วก็เจอปัญหาตามมาอีกมากมาย ก็เลยเอามาเขียนในนี้ซะหน่อย
Subclipse รุ่นใหม่มีสิ่งที่เปลี่ยนไปคือแทนที่จะใช้ svn client ใน Eclipse เลยกลับออกมาใช้ client ภายนอกของระบบ ผ่าน JNI ดังนั้นก่อนที่จะใช้ได้ก็ต้องเตรียม svn ภายนอกให้เรียบร้อยก่อน สำหรับที่จดไว้นี้เฉพาะ Fedora9 คิดว่าลินุกซ์ค่ายอื่นก็คงติดไม่ค่อยต่างกันเท่าไหร่ แต่สำหรับ Windows นี่คงต้องไปนั่งลองทำอีกที -_-”

  1. เริ่มจากติด svn client ลงไปก่อนพร้อมกับ javahl

    #yum install subversion subversion-javahl
  2. จากนั้นก็เข้า Eclipse ติด Subclipse ด้วยการเพิ่ม source เข้าไป

    http://subclipse.tigris.org/update_1.4.x/

    แต่ว่า ด้วยความที่ต้นฉบับมันช้ามากๆ เลยทำ update สำรองไว้ที่

    http://llun.info/updates/subclipse1.4.1/
  3. เลือกสอง package คือที่มัน required กับ recommend แล้วก็ next ไปเรื่อยๆ ติดตั้งเสร็จมันจะให้ restart Eclipse ก็ restart แล้วปิด Eclipse ไปก่อน
  4. ก่อนเปิด Eclipse เพิ่ม argument สองตัวนี้เข้าไปด้วย

    -vmargs -Djava.library.path=/usr/lib

    เพื่อให้ Eclipse รู้ว่า javahl jni อยู่ที่ไหนแล้วจะได้เรียก svn client ถูก
Tuesday, February 26th, 2008

เมื่อวานย้ายที่ทำงานขึ้นมาอีก 20 ชั้น วันนี้ย้ายเซิร์ฟเวอร์เก็บไฟล์ที่ทำงานอยู่ (จริงๆ แค่เปลี่ยนไอพี) แต่แฟ้มที่อยู่ในเครื่องแปะไว้อยู่ที่ไอพีเดิม วันนี้ก็เลยเกือบต้องลำบาก เอาออกมาใหม่ทั้งหมด แต่ค้นอากู๋ไปมา ดันเจอคำสั่งที่ไว้ช่วยเปลี่ยนซะก่อน เลยรอดไป

ปกติคำสั่งที่ผมใช้จะมีแค่ co (checkout), ci (commit), up(update) เอาไว้เอาไฟล์เข้าออกจากเซิร์ฟเวอร์ พอเปลี่ยนไอพีที ถามพี่พี่ก็บอกว่า co มาใหม่เลย คิดแล้วก็ซีดนิดๆ เพราะมันหลายไฟล์ + งานเก่าที่ทำไว้มีอะไรที่ค้างคาอยู่เยอะเหมือนกัน (แก้ไปแล้วอ่ะ  :sad: ) สำหรับคพสั่งใหม่ที่เจอวันนี้คือ sw (switch) วิธีย้ายสำหรับเปลี่ยนที่ไฟล์ก็คือ


svn sw --relocate [old] [new] [dir]

เช่นไฟล์เดิมเซิร์ฟเวอร์อยู่ที่ 192.168.0.1 แต่เซิร์ฟเวอร์ใหม่ย้ายไปที่ 10.10.4.1 แล้วตำแหน่งของไฟล์อยู่ที่ /home/[user]/workspace เวลาย้ายก็ใช้คำสั่งตามนี้


svn sw --relocate http://192.168.0.1/workspace http://10.10.4.1/workspace /home/[user]/workspace

หลังจากนั้นก็รอซักพักให้ svn แก้ไขข้อมูล entries ในเครื่อง จากนั้นก็ update แก้ไขไฟล์เหมือนที่เดิมได้เลย
เพิ่มเติม: พิงค์กี้ส่งลิงค์ให้ดูอีกเว็บนึงใช้วิธีที่ถึงกว่าหน่อยแต่คิดว่าทำได้เหมือนกัน คือใช้คำสั่ง find แล้ว sed แก้เอา แต่ไม่รับรองถึงความปลอดภัยเลย ไม่กล้าเสี่ยง (ขนาด sw ยังต้องแบ๊คอัพเผื่อไว้เลย)