วันจันทร์ที่ 7 มิถุนายน พ.ศ. 2553

การใช้ Subversion ในการควบคุม Source Code

ในการสร้างโปรเจ็ค ควรจะทำการควบคุม source code เพื่อป้องกันความผิดพลาดจากการลบไฟล์โดยไม่ได้ตั้งใจ และเพื่อสามารถย้อนกลับไปใช้ซอร์สโค้ดเดิมได้ หากมีข้อผิดพลาดเกิดขึ้นกับ souce code เวอร์ชั่นไหม่

ในบทความจะแสดงวิธีการใช้งาน Subversion (svn) ควบคุม source code บนพื้นที่ฟรีเช่น google code สามารถทำได้ดังนี้

1. เปิดเว็บไซต์กูเกิ้ลโค้ด โดยเข้าไปที่ http://code.google.com
2. เลือก Project Hosting
3. เลือก Project Hosting on Google Code
4. ทำการ sign in เข้าใช้งาน โดยใช้ account ของ google หรือ gmail
5. ทำการสร้างโปรเจ็คโดยการเลือก Create a new project
6. ในหน้า Create Project ให้กำหนดรายละเอียดของโปรเจ็ค โดยกำหนดเพิ่มเติมดังนี้
Version control system: เลือก subversion
Source code license: เลือก Apache License 2.0
Use a separate content license: เลือก Creative Common 3.0 BY
Project labels: ใส่ tag ที่เกี่ยวข้องกับโปรเจ็ค
7. กดปุ่ม Create Project
8. เมื่อสร้างโปรเจ็คแล้ว กดแท็บ Source จะได้คำสั่งในการ checkout code
9. ทำการก็อปปี้คำสั่งไปวางใน terminal และกด enter เพื่อทำการ check out code ลงมาที่เครื่อง
10. เมื่อ check out ลงมาแล้ว หากต้องการดูข้อมูลของโปรเจ็ค ให้พิมพ์ svn info
11. ทดลองทำการเพิ่มไฟล์ลงในโปรเจ็ค เสร็จแล้วพิมพ์ svn st เพื่อดูสถานะ ที่ terminal จะแสดงค่า
? test.txt
หมายความว่า ไฟล์ที่เครื่องคอมพิวเตอร์ไม่ตรงกับไฟล์บน google code
12. หากต้องการทำการนำไฟล์นี้ขึ้นไปบน google code ให้ใช้คำสั่ง
svn add ชื่อไฟล์หรือโฟลเดอร์ เช่น
svn add test.txt
เพื่อทำการเพิ่มไฟล์เข้าไปในระบบ
13. เมื่อทำการ add แล้ว status ของไฟล์จะเป็น A ซึ่งหมายความว่า add ไฟล์นี้เข้าสู่โปรเจ็คแล้ว แต่ยังไม่ได้อัพโหลดขึ้นบน google code
หากต้องการนำโค้ดขึ้นไปบนโฮสต์ให้ใช้คำสั่ง
svn commit -m"ข้อความที่ต้องการอธิบาย" เช่น
svn commit -m"my first commit"
เพื่อทำการ commit file ขึ้นไปบนโฮสต์ แล้วกด enter
10. เมื่อมีการแสดงข้อความร้องขอให้ใส่พาสเวิร์ดบน terminal ให้กลับไปที่หน้า source ของ google code แล้วกดที่ข้อความ
When prompted, enter your generated googlecode.com password กูเกิ้ลโค้ดจะทำการสร้างพาสเวิร์ดให้ และก๊อปปี้พาสเวิร์ดนั้นไปใส่ใน terminal
11. svn จะทำการ commit ไฟล์ขึ้นสู่ google code และจะแสดง Committed revision 2 หมายถึงได้เพิ่มโค้ดเรียบร้อยแล้ว

คำสั่งของ svn ที่ใช้บ่อย จะมีดังนี้
svn checkout หรือ svn co สั่งให้ check out source code จากโฮสต์ลงมาเก็บไว้ในเครื่อง
svn add เมื่อมีการสร้างไฟล์หรือไดเร็คทอรี่ คำสั่งนี้จะเป็นการบอกให้ svn ทราบว่ามีการเพิ่มไฟล์เข้าไปในโปรเจ็ค แต่จะยังไม่ทำการอัพโหลดขึ้นไปยังโฮสต์ จนกว่าจะสั่ง svn commit
svn delete คำสั่งนี้จะเป็นการบอกให้ svn ทราบว่ามีการเพิ่มไฟล์ลบไฟล์ออกจากโปรเจ็ค และจะทำการลบไฟล์บนโฮสต์ทันทีที่สั่ง svn commit
svn status เช็คสถานะของไฟล์และโฟลเดอร์ ว่าอยู่ในสถานะไหน สถานะต่างๆ เช่น
A(Add), M(Commit), G(Merge), U(Update)
svn update หรือ svn up จะทำการ sync ไฟล์และโฟลเดอร์ในเครื่องกับบนโฮสต์ให้ตรงกัน
svn commit เป็นการสั่งนำไฟล์ขึ้นไปเก็บไว้บนโฮสต์

โดยคำสั่งที่จำเป็นของ svn สามารถศึกษาเพิ่มเติมได้ ดังนี้
http://www.linuxfromscratch.org/blfs/edguide/chapter04.html
http://oslc.wordpress.com/2007/01/20/subversion-basic-work-cycle-command-line/

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

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