CVS

מתוך המכלול, האנציקלופדיה היהודית
קפיצה לניווט קפיצה לחיפוש
CVS
מפתח The CVS Team
מחזור חיים 19 בנובמבר 1990 – הווה (34 שנים)
מערכת הפעלה מערכת הפעלה דמוית יוניקס
נכתבה בשפות C
סוג רישיון GNU General Public License, version 1.0 or later
קוד מקור https://savannah.nongnu.org/projects/cvs

CVS (ראשי תיבות של Concurrent Versions System - מערכת גרסאות מקבילית, השם המלא כמעט שאינו בשימוש) היא מערכת ניהול גרסאות מסוג שרת–לקוח שהייתה המערכת החופשית הראשונה מסוגה והפכה לפופולרית החל מראשית שנות ה-90 של המאה ה-20. כיום עדיין בשימוש נרחב אולם מוחלפת בהדרגה על ידי מערכות מתקדמות יותר כגון Subversion וגיט.

היסטוריה

CVS פותחה על בסיס RCS, שהיא מערכת פשוטה לניהול גרסאות של קובץ בודד. החל משנת 1984 פיתח דיק גרון (Dick Grune) מעטפת ל-RCS שמספקת אפשרות לעבודה במקביל וכן במספר קבצים ביחד. הגרסה המקורית נכתבה כאוסף של סקריפטי Bourne Shell, ופורסמה ב-23 ביוני 1986 תחת השם CVS[1][2].

בהמשך שוכתבה CVS בשפת C על ידי בריאן ברלינר ואחרים. CVS נותרה בשימוש פנימי בעיקר של המפתחים עד שנת 1990, כשהיא הוצגה בכנס USENIX[3]. בנובמבר 1990 שוחררה גרסה 1.0 ברישיון GPL. בשנת 1994 נוספה תמיכה בעבודה מרוחקת: התחברות דרך TCP/IP לשרת שיכול להיות במחשב אחר[4].

האפשרות להוסיף שרת מרוחק שיספק גישה מהירה לגרסה הנוכחית של קוד המקור של התוכנה התבררה כתכונה מועילה. פרויקטי תוכנה שונים (לדוגמה: OpenBSD) שמו שרתים ונתנו גישת CVS אנונימית, כלומר פתוחה לכל מי שיכול להתחבר מהאינטרנט. השימוש ב־CVS הפך לסטנדרטי בין פרויקטי תוכנה חופשית[5]

בעיות

מערכת CVS משתמשת באוסף כלים קיימים (RCS, patch), אולם היא לא הצליחה להתמודד עם מספר בעיות שנבעו מתכנונה הבסיסי. מכיוון שכל המידע על הגרסאות נאגר על כל קובץ בנפרד, אין תמיכה פשוטה בפעולת הזזת קבצים. אין גם אפשרות להבטיח שפעולת commit תצליח או תיכשל כולה (atomic commit) - יכול להיות שפעולת commit שכוללת שינויים בכמה קבצים תיכשל באמצע ותשאיר חלק מהקבצים עם השינויים החדשים וחלק עם הגרסה הישנה[5].

קישורים חיצוניים

הערות שוליים

  1. ^ ההכרזה על CVS בקבוצת הדיון mod.sources, 23 ביולי 1986
  2. ^ Dick Grune, Concurrent Versions System, a method for independent cooperation, IR 113, Vrije Universiteit, Amsterdam, pp. 9, 1986
  3. ^ [B. Berliner, CVS II: Parallelizing Software Development, Proceedings of the USENIX Winter 1990 Technical Conference, 1990
  4. ^ קובץ ה־NEWS מהפצת CVS
  5. ^ 5.0 5.1 אריק ריימונד, הבנת מערכות בקרת תצורה
הערך באדיבות ויקיפדיה העברית, קרדיט,
רשימת התורמים
רישיון cc-by-sa 3.0

32611641CVS