Using CVS

Opret CVS:

$ export CVSROOT=/home/cvs/cvsroot
$ cvs init

Skal nu have noget source i vores cvs, vi laver noget fiktiv source:

$ mkdir bigproject
$ cd bigproject
$ touch source1.c
$ touch source2.c
$ touch source3.c
$ mkdir libs
$ cd libs
$ touch lib1.h
$ touch lib2.h
$ touch lib3.h
$ cd ..


Vi opretter vores project
$ cvs import -m "" bigproject BigProjectVendor release2
N bigproject/source1.c
N bigproject/source2.c
N bigproject/source3.c
cvs import: Importing /home/cvs/cvsroot/bigproject/libs
N bigproject/libs/lib1.h
N bigproject/libs/lib2.h
N bigproject/libs/lib3.h

No conflicts created by this import

$

Vi rykker lige et nyt sted hen:
$ cd ~
$ mkdir workingdir
$ cd workingdir


Henter en kopi af sovsen:
$ cvs checkout bigproject
cvs checkout: Updating bigproject
U bigproject/source1.c
U bigproject/source2.c
U bigproject/source3.c
cvs checkout: Updating bigproject/libs
U bigproject/libs/lib1.h
U bigproject/libs/lib2.h
U bigproject/libs/lib3.h
$

Redigerer lidt i source1.c

vim source1.c

og opdaterer cvs'en igen:
$ cvs commit
cvs commit: Examining .
cvs commit: Examining libs
Du bliver bedt forklare i en vim (default editor) hvad du har gjort ved filerne.
/tmp/cvsYLAmQj: 9 lines, 319 characters.
Checking in source1.c;
/home/cvs/cvsroot/bigproject/source1.c,v  <--  source1.c
new revision: 1.2; previous revision: 1.1
done

Hvis du vil undgaa en tur i vim kan du tilfoeje: -m "I did this and that" til kommandolinie.

og saa er cvs opdateret, naeste gang nogen henter sourcen fra cvs vil dine aendringer vaere med.

Hvis vi antager at vi har et projekt som nu har en fungerende funktion vil vi gerne gemme status quo, så vi skriver:
$ cvs tag working-shit
cvs tag: Tagging .
T source1.c
T source2.c
T source3.c
cvs tag: Tagging libs
T libs/lib1.h
T libs/lib2.h
T libs/lib3.h

Hvorefter vi aendrer i filerne og kommer til at lave noget fuck som vi smider i cvs'en og faar brug for at genskabe de filer igen som virkede og som vi kalder 'release working shit', vi sletter foerst source traaet som det er nu:
rm -fr bigproject


$ cvs checkout -r working-shit bigproject
cvs checkout: Updating bigproject
U bigproject/source1.c
U bigproject/source2.c
U bigproject/source3.c
cvs checkout: Updating bigproject/libs
U bigproject/libs/lib1.h
U bigproject/libs/lib2.h
U bigproject/libs/lib3.h


og we staar nu med working shit releasen!


Fandt lige en cool tutorial: http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/
Dette indlæg blev udgivet i Knowledge Base, Old Base, Windows, Workstation. Bogmærk permalinket.

Skriv et svar