Subversion ( SVN ) och Concurrent Versions System ( CVS ) är två av de mest kända och mest använda system versionskontroll används för att hantera de hundratals dokument som finns i den typiska programmeringsprojekt . Båda , på sitt sätt , möjliggöra ett helt team av programmerare för att arbeta med samma filer samtidigt minimera den tid och kraft det tar att slå ihop ändringarna , men de är mycket olika i hur de fungerar . Storage Format
CVS lagrar alla filer i projektet i en förgrening uppsättning mappar i filsystemet . Å andra sidan , lagrar SVN sina filer i en databas : antingen BerkleyDB eller FSFS . Detta gör CVS långsammare än SVN , men det gör det också så att CVS kan hämtas i en katastrof med bara vanliga verktyg filhanterare som Windows Explorer eller bash-skalet . SVN -databaser kan vara skadad , och speciella verktyg krävs för att hämta filer från förvaret när detta händer . På en fil - med -
Transactions
CVS butiker projekt fil basis . Detta gör systemet något enklare , eftersom programmeraren kan checka in och ut enstaka filer , men den har en otäck bieffekt . Programmerare brukar inte göra ändringar i en enda fil . Snarare , ändringar i en fil kräver mindre modifieringar andra. Med CVS , är det möjligt för ett nätverk problem att ge vissa av de ändrade filerna som ska uppdateras på förvaret , eventuellt bryta bygg och orsakar en hel del förvirring i laget om problemet inte fångas omedelbart . SVN begår filer som ett projekt och gör det med hjälp av en " transaktion " konceptet : Antingen alla förändringar framgångsrikt engagerade i servern , eller ingenting begås
filtyper
.
CVS var avsedd att endast behandla oformaterade data ( som normalt finns i källkoden ) . Men dess en sällsynt programmering program som inte innehåller åtminstone några icke - textdata , såsom grafiska ikoner , anpassade muspekare och logotyper . CVS kan modifieras för att ta itu med icke - textdata , men SVN stöder alla filtyper direkt utan någon annan modifiering eller anpassning .
Förgrena
CVS , varje fil tilldelas automatiskt ett eget versionsnummer . När projektet är utcheckad , är den senaste versionen av varje fil tillhandahålls till programmeraren . I SVN , har hela projektet en version . Även filer aldrig dupliceras i onödan på servern ( för att spara utrymme ) , är gränssnittet till användaren att varje någonsin begå görs till servern är omedelbart tillgänglig för dem med versionsnummer , utan att behöva ange bygga datum eller siffror tag .
Addera ditt