Subversion er et open source-system for revisionskontrol, sommetider bare kaldet svn fra navnet på kommandolinjegrænsefladen. Subversion er designet specifikt til at være en moderne afløser for CVS og er udviklet af en række af de samme nøgleudviklere. Subversion er i stand til at håndtere korrekt versionering af binære filer, hvilket kun har været dårligt understøttet i CVS. Subversion blev oprindeligt udviklet af Collabnet, men blev pr. 17. februar 2010[1] et officielt projekt under Apache Software Foundation.

Subversion
Udvikler(e) Apache Software Foundation (oprindeligt CollabNet)
Udgivet 20. oktober 2000
Stabil version 1.14.3 (28 december 2023)
Skrevet i C
Operativsystem Linux
Mac OS X
Windows
Type Revision control
Licens Apache
Hjemmeside Hjemmeside

Centralt for subversion (og mange andre versioneringssystemer) er et repository, som er et centralt dataregister, der vedligeholder filer gemt via subversion. Når brugere skal benytte filer fra dette repository foretager de et checkout. Et checkout giver brugeren en lokal kopi af filerne som de derefter kan arbejde med. Når brugeren derefter er færdig med arbejdet og vil dele arbejdet med de andre personer, der også har adgang til repositoryet foretager vedkommende et commitment. Dette sender filen til repositoryet, der kun gemmer forskellen i de ændrede filer. Dette har flere fordele:

  • Forskellen i filerne er typisk mindre end selve filerne, hvormed det er pladsbesparende at gemme forskellen mellem hver revision i forhold til at gemme hele filen for hver revision.
  • Det giver mulighed for at gå tilbage til gamle versioner af filer, merge (sammensmelte) forskellige versioner etc.

Et commit fjerner ikke de lokale filer men synkroniserer derimod blot indholdet lokalt og i repositoryet. En af de store fordele der opnås ved at benytte et versionseringssystem er at flere personer kan redigere i forskellige sektioner i samme fil. Systemet kan selv administrere sammensmeltningen af filerne i repositoryet. Der vil dog være situationer, hvor systemet ikke er i stand til at udrede, hvilke rettelser, der kan betragtes som de endelige. I sådanne situationer vil det være op til en bruger at løse de konflikter der i så fald er i filen. Det er ikke tilladt – eller muligt – at indsende filer i konflikt til repositoryet, hvilket medfører at konflikten skal løses af den bruger der ikke har fået de ændrede filer sendt.

Noter redigér

Se også redigér

Eksterne henvisninger redigér


 Spire
Denne artikel om software og programmering er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den.