r7 - 12 Aug 2006 - 15:46:44 - PatipatTumsangthongYou are here: SETEC Wiki >  Knowledge Web  > OtherCategory > RevisionControlSystem
เป็นส่วนประกอบที่สำคัญส่วนหนึ่งใน TWiki?

Revision Control System (RCS)

ในงานเขียนและพัฒนาโปรแกรม ผู้พัฒนาอาจจะพบกับปัญหาการลบไฟล์ฺงานโดยไม่ได้ตั้งใจ เกิดความสับสน เมื่อจะนำงานมาพัฒนาต่อ เนื่องจากไม่มีการจัดเก็บงานอย่างเป็นระบบระเบียบ

RCS เป็นเครื่องมือตัวหนึ่งที่นิยมใช้กันมาก บนระบบปฏิบัติการของ Linux,Unix โดยผู้ใช้สามารถจัดเก็บงานเข้าไปในระบบ ที่จะเก็บและสร้างเวอร์ชันงานอัตโนมัติ เมื่อผู้ใช้ต้องการงานนั้นๆก็นำมาพัฒนาต่อได้ แก้ปัญหาความผิดพลาด (เช่น ลบไฟล์) เพราะสามารถนำงานแต่ละเวอร์ชันที่ต้องการ ออกมาดูหรือใช้แทนที่งานปัจจุบันได้ เหมือนกับการกู้งานนั่นงาน

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

เริ่มต้นการใช้งาน RCS

ตรวจสอบว่า server มี RCS หรือยัง
  • $rcs หรือ
  • $man rcs ถ้ามี RCS จะบอกรายละเอียดในการใช้

สร้าง ไดเรกทอรี RCS สำหรับจัดเก็บงาน
  • $mkdir RCS ต้องพิมพ์ RCS เป็นตัวพิมพ์ใหญ่

เตรียมเอกสารที่จะทดสอบ เข้าระบบ RCS
  • $touch test.txt เป็นการสร้างเอกสารเปล่าๆขึ้นมา 1 เอกสารโดยใช้ชื่อว่า test.txt
  • $vi text.txt เพื่อเข้าไปแก้ไข หรือเขียนข้อความในไฟล์ test.txt
    • $Author$
    • $Date$
    • $Revision$ ใส่ข้อความ 3 บรรทัดนี้ ที่บนสุดของไฟล์ text.txt แล้ว save

check in เอกสารเข้าสู่ RCS
  • $ci test.txt เป็นการนำเอกสาร test.txt เข้าไปเก็บใน RCS ไดเรกทอรี หลังจากนั้นจะได้รับข้อความว่า
    • RCS/test.txt,v <-- test.txt
    • enter description, terminated with single '.' or end of file:
    • NOTE: This is NOT the log message!
    • >> ตรงนี้เองให้เราใส่ข้อความ อาจเป็นข้อมูลเกี่ยวกับเอกสารก็ได้ แล้ว Enter
    • >> ถ้ามีเพิ่มก็สามารถใส่ได้เรื่อยๆ แล้วกด Enter
    • >> ถ้าต้องการออกจากการใส่ บรรทัดนี้ให้พิมพ์ . ลงไปเท่านั้น แล้ว Enter

จะเห็นว่า ไฟล์ test.txt จะหายไป เนื่องจากไฟล์ถูก copy ไปเก็บใน RCS เรียบร้อยแล้วระบบ จะลบไฟล์ test.txt ดังนั้นหากผู้ใช้ต้องการแก้ไฟล์ test.txt ต่อ ต้องใช้คำสั่งด้านล่าง

  • $ci -l test.txt เป็นการเพิ่มออบชั่น -l เข้าไปเำพื่อให้การเก็บเอกสารเข้า RCS แล้วไม่ต้องลบไฟล์ test.txt ทิ้ง ผู้ใช้สามารถแก้ไข text.txt ต่อได้เลย

นอกจากนี้ ผู้ใช้สามารถกำหนดเวอร์ชันได้เอง ซึ่งจะกล่าวในภายหลังค่ะ (เช่น 1.1--> 1.2--> 1.3-->2.1-->2.2)

check out เอกสารออกจาก RCS
  • $co -l test.txt ไฟล์ใน RCS ไดเรกทอรี จะถูกเรียกว่า "RCS file" คำสั่งนี้จะไปเรียกไฟล์ชื่อ test.txt ออกมาจาก RCS เพื่อมาแก้ไขงานต่อไป ซึ่งออบชั่น -l นี้ จะเป็นการนำไฟล์ล่าสุดที่ได้นำเข้าไปเก็บ

หลังจากเรานำเอกสารออกมาแก้แล้ว หากต้องการรู้ว่าตอนนี้เอกสารที่แก้ปัจจุบัน แตกต่างจากเอกสารล่าสุด ที่เก็บใน RCS ตรงไหนบ้างในพิมพ์

  • $rcsdiff test.txt เป็นการแสดงผลเทียบของบรรทัดที่ได้เขียนเพิ่ม หรือทำการเปลี่ยนแปลงไป กับไฟล์ test.txt ที่อยู่ใน RCS

เอกสารอ้างอิง

http://www.uvm.edu/~ashawley/rcs/tichy1985rcs/html/ http://uweb.txstate.edu/~mg43/CS5391/Papers/ConfigManagement/tichy91rcs.pdf

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r7 < r6 < r5 < r4 < r3 | More topic actions
 
Powered by SETEC Wiki
Copyright ©2014 by National Electronics and Computer Technology Center, NECTEC.
Ideas, requests, problems regarding SETEC Wiki? Send feedback