Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

OS Linux

CVS? Wat is het en hoe gebruik je het?

maximilaan
4 antwoorden
  • Als ik zo het web doorblader voor linux (KDE) applicaties, kom ik vaak de term "CVS" tegen? Wat is het en hoe gebruik je het?

    Aan jullie de uitleg :D
  • [b:eb0b774849]CVS (concurrent version system)[/b:eb0b774849] is een pakket dat je helpt om aan project management te doen. Wat zijn de technische problemen van project management? Met een groep mensen werk je aan één software-pakket (of web-site, of boek, of … als het maar om een collectie files gaat.). In de regel werken de verschillende personen ook aan verschillende onderdelen, maar af en toe ontstaan er conflicten: met twee of meer wordt er aan één file gewerkt! Waar bewaar je je files? Met NFS? En de beveiliging dan? En conflicten? Wat met versies die aan de klanten worden uitgegeven (releases?) En patches, specifieke bug-fixes voor bepaalde releases? CVS biedt een systeem aan om deze problemen op te lossen.

    Centraal in een CVS-systeem is de repository. Hier worden files bewaard. Aan de hand van een voorbeeld zullen we de belangrijkste bewerkingen uitleggen. Het voorbeeld is op TeX-gebaseerd, maar is algemeen. Typisch werkt men binnen een onderzoeksgroep die TeX gebruikt met één grote file waarin alle bibliografische referenties zijn opgeslagen. Dit heeft vele voordelen (…). Het enige nadeel is dat de file centraal beheerd moet worden, om conflicten tegen te gaan! In het voorbeeld zit deze file, die we alles.bib zullen noemen, in de module texlib.

    Initieel werd de module texlib gecreëerd, en werd een initiële versie
    evisie van alles.bib ingevoerd (ingecheckt in CVS-terminologie) in de repository, die zich op de CVS-server bevindt. Gebruiker A wil de bibliografie-file gebruiken. Zij checkt de texlib-module uit, gewoonlijk in een directory zoals ~/checkout, met behulp van de instructie

    cvs checkout texlib

    in de directory ~/checkout. De laatste versie
    evisie van de files in de texlib-module worden van de CVS-server overgehaald, en in de directory ~/checkout/texlib geplaatst. Gebruiker A maakt nu gebruik van de alles.bib-file. Nu moeten er een aantal scenario's behandeld worden.

    [b:eb0b774849]Scenario 1[/b:eb0b774849]. Gebruiker A heeft een wijziging gemaakt (zoals een entry toegevoegd, of een fout verbeterd), en niemand anders heeft zijn uitgecheckte alles.bib-versie gewijzigd. In dit geval moet zij de wijziging inchecken, met de bewerking

    cvs commit -m"een entry toegevoegd." alles.bib

    Gebruiker B kan nu de allerlaatste versie, met de toegevoegde entry, bemachtigen door

    cvs update

    uit te voeren in de directory ~/checkout/texlib. Verschillende versies worden genummerd.

    [b:eb0b774849]Scenario 2[/b:eb0b774849]. Gebruiker A heeft een wijziging gemaakt, en wil deze inchecken. Ondertussen heeft B ook al een wijziging gemaakt, maar is B nog niet aan inchecken toe. A voert een commit uit. Als B nu een update of een commit wil doen, moeten er waarschijnlijk conflicten worden opgelost. Ofwel kan dit met een merge, ofwel moeten de conflicten manueel worden uitgewerkt.

    [b:eb0b774849]Scenario 3[/b:eb0b774849]. Je paper, waar je de alles.bib-file gebruikt, stuur je op naar een tijdschrift. Je geeft aan de huidige revisie een symbolische naam, zodat je enkele maanden later, als het paper van het journal terugkomt, deze revisie terug kan uitchecken. Zo kan je zeker zijn dat je nog voortkan – misschien zijn er ondertussen wel strukturele wijzigingen aangebracht aan de bibliografie-file.
  • Kijk voor het gebruik van CVS eens naar
    http://www.andamooka.org
    eader.pl?section=cvsbook
  • Of:
    http://www.gnu.org/manual/cvs-1.9/html_chapter/cvs_toc.html

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.