ความแตกต่างระหว่าง CVS และ SVN ความแตกต่างระหว่าง

Anonim

CVS และ SVN

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

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

ในแง่ของการเข้าถึงทั้งทางเครือข่ายทั้งสนับสนุนโปรโตคอลที่เป็นกรรมสิทธิ์ซึ่งสามารถเจาะผ่าน SSH connection เพื่อให้มั่นใจถึงความปลอดภัยของข้อมูลที่ถูกส่งผ่านเครือข่าย SVN เพิ่มอีกนิดหน่อยกับ WebDAV + DeltaV โปรโตคอลนี้ใช้ HTTP และ HTTPS และให้ผู้ใช้มีทางเลือกอื่นในการเชื่อมต่อกับ SVN

สำหรับคนส่วนใหญ่ที่เพิ่งเริ่มต้นด้วย SVN และ CVS SVN เป็นตัวเลือกที่เหนือกว่าและเป็นตรรกะระหว่างทั้งสอง ช่วยให้ผู้ใช้มีคุณสมบัติที่เหมาะสมเพื่อตอบสนองความต้องการของเขา เหตุผลเพียงอย่างเดียวที่จะใช้ CVS ก็คือถ้าคุณติดอยู่กับระบบเดิมที่ค่อนข้างจะยากที่จะย้ายไปใช้ระบบ SVN

สรุป:

1. SVN เป็นรุ่นใหม่กว่าและสูงกว่า CVS เก่ากว่ามาก

2 SVN ช่วยให้อะตอมมุ่งมั่นในขณะที่ CVS ไม่

3. SVN ช่วยให้การเปลี่ยนชื่อและย้ายขณะ CVS ไม่

4. SVN อนุญาตให้เผยแพร่การเปลี่ยนแปลงไปยังที่เก็บหลักได้ขณะที่ CVS ไม่ได้

5 SVN สนับสนุนสองโปรโตคอลเครือข่ายในขณะที่ CVS สนับสนุนเฉพาะ