ป้ายกำกับ

วันจันทร์ที่ 28 เมษายน พ.ศ. 2557

Ubuntu 14.04 LTS: ปัญหา Subversion บน Eclipse 3.8

หลังจากที่ผมติดตั้ง Ubuntu 14.04 LTS ไปประมาณหนึ่งสัปดาห์ ตอนนี้ก็ได้ฤกษ์ใช้งาน Eclipse เขียนโปรแกรมสักที และเนื่องจากโปรแกรมหลายๆตัวที่ผมเขียน ผมใช้ Subversion เก็บซอสโค้ดไว้ จึงทำการ Import โปรแกรมมา แต่ปรากฏว่าเกิดปัญหาขึ้น 2 เรื่อง

ปัญหาที่ 1 SVN มี 2 เมนู

เมื่อเลือกเมนู File/Import จะปรากฏหน้าต่าง ซึ่งปกติแล้ว เราก็จะเลือกหัวข้อย่อย SVN โดยจะมีหัวข้อ Checkout Projects from SVN ดังภาพ (ขออภัยที่ผมลืมเก็บภาพตอนที่มี 2 หัวข้อ) แต่ปรากฏว่ามี SVN อีกอันหนึ่ง มีหัวข้อย่อยคล้ายๆกัน ผมก็เกิดความสงสัยขึ้น แอ๊ะเกิดอะไรขึ้นกับ Eclipse และเมื่อเปิดไปที่เมนู Window/Preferences/Team เพื่อดูการตั้งค่าของ Subversion ก็ปรากฏว่า มีหัวข้อ SVN อยู่ 2 หัวข้อเช่นกัน

หลังจากที่ตรวจสอบ Plug-In ต่างๆที่ติดตั้ง (เลือกลิ้งค์ Uninstall or update ที่เมนู Window/Preferences/Install/Update) ก็ได้ข้อสรุปว่า ผมติดตั้ง Eclipse Team Provider สำหรับ Subversion ไปสองตัวคือ Subversive และ Subclipse ซึ่งปกติแล้ว ผมจะใช้ Subversive อยู่เป็นประจำ เพราะมี Connector หลายแบบให้เลือกใช้ แต่เอ Subclipse มันมาได้ไง? เราเผลอไปติดตั้งตอนไหนนะ? จะเอาออกดีหรือเปล่า? เพื่อให้มั่นใจ ผมจึงศึกษาข้อมูลดูจาก StackOverflow และพบว่า เขาแนะนำให้ใช้ Subclipse ดีกว่า เพราะทีมพัฒนา(มาตอบเอง) บอกว่า ทีมงานเขา Active กว่า Subversive ที่มีผู้พัฒนาอยู่น้อย และยังติดวงเล็บต่อท้ายว่า Incubation ตั้งนานแล้ว นอกจากนี้ เขายังทำงานร่วมกับทีมที่พัฒนา Subversion บนระบบอื่นๆ เช่น AnkhSVN และ TortoiseSVN อย่างไกล้ชิด เพื่อให้สามารถทำงานเข้ากันได้

โอเคครับ ผมก็เลยตัดสินใจ ถอน Subversive ออก แต่ตอนที่ถอนออก เราจะต้องไล่ถอน Plug-In ต่างๆที่เกี่ยวข้องออกให้หมดนะครับ ไม่อย่างนั้นแล้ว เมนู SVN ของ Subversive จะยังคงปรากฏให้เห็นอยู่ อาจจะทำให้เกิดความสับสนในการใช้งานได้ เพราะมันจะคล้ายๆกัน สำหรับ Plug-In ที่เกี่ยวข้องกับ Subversive ก็คือ
  • Subversive SVN Team Provider (Incubation)
  • Subversive SVN JDT Ignore Extensions (Optional) (Incubation)
  • Subversive SVN Integration for the Mylyn Project (Optional) (Incubation)
  • Subversive Revision Graph (Optional) (Incubation)
  • Subversive SVN Connectors
  • Native JavaHL x.x Implementation (Optional)
  • SVNKit x.x.x Implementation (Optional)

ปัญหาที่ 2 Subclipse 1.8 ไม่สามารถทำงานร่วมกับ JavaHL 1.8 ได้

เมื่อเหลือแต่ Subclipse แล้ว ผมก็เริ่มต้น Import โปรแกรมใหม่ แต่ก็ไม่สำเร็จเนื่องจาก Subclipse ฟ้องว่าไม่สามารถทำงานร่วมกับ JavaHL ที่มีอยู่ได้ ต้องใช้รุ่น 1.7.x ดังภาพ
เมื่อตรวจสอบระบบแล้ว พบว่า Ubuntu 14.04 มี Package ของ Subclipse รุ่น 1.8 และ JavaHL รุ่น 1.8 เช่นกัน แต่จากคำอธิบายในบทความเรื่อง Wiki ของ JavaHL ระบุรุ่นที่ทำงานร่วมกันไว้คือ
Subclipse VersionSVN/JavaHL Version
1.10.x1.8.x
1.8.x1.7.x
1.6.x1.6.x
1.4.x1.5.x
1.2.x1.4.x
1.0.x1.4.x
นั่นหมายความว่า ถ้าใช้ Subclipse 1.8 ก็จะต้องติดตั้ง JavaHL 1.7 ซึ่ง Ubuntu 14.04 ไม่มีให้ และถ้าจะใช้ JavaHL 1.8 ตามที่ Ubuntu 14.04 มีให้ ก็ต้องอัพเกรด Subclipse เป็น 1.10 โดยทีแรกผมพยายามจะหา JavaHL 1.7 มาติดตั้งแล้ว แต่เกิดปัญหาว่า ในระบบอาจจะมีโปรแกรมอื่นๆที่ต้องใช้งาน JavaHL ด้วยเช่นกัน ไม่ใช่มีเพียง Eclipse เท่านั้น ทำให้เกิดปัญหา dependency ต่างๆพันกันไปหมด สุดท้ายผมก็เลยตัดสินใจ อัพเกรด Subclipse โดยเข้าไปที่ Install New Software และเพิ่ม Repository สำหรับ Subclipse รุ่น 1.10.x ตรงช่อง Work with ด้วย URL http://subclipse.tigris.org/update_1.10.x เท่านี้ก็จะปรากฏ Plug-In รุ่น 1.10 และส่วนที่เกี่ยวข้องอื่นๆมาให้เราเลือกติดตั้งได้ทันทีดังภาพ
เมื่อติดตั้งแล้ว ก็จะสามารถใช้งาน Subversion ได้ตามปกติ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น