I Subversion har vi prøvd å fjerne en del av forvirringen angående kommandoene cvs status og cvs update.
Kommandoen cvs status har to formål:
For det første å vise brukeren alle lokale forandringer i
arbeidskopien, og for det andre å vise brukeren hvilke filer som
er utdatert.
Uheldigvis, på grunn av CVSs uoversiktlige utlisting, er det mange
CVS-brukere som ikke bruker denne kommandoen i det hele tatt.
Istedenfor har de lagt seg til vanen å kjøre cvs
update eller cvs update -n for å få
en rask oversikt over forandringene.
Hvis brukere glemmer å bruke -n-valget, vil dette
føre til at det flettes inn forandringer fra depotet som de
kanskje ikke er klare til å håndtere.
Med Subversion har vi forsøkt å fjerne dette rotet ved å gjøre informasjonen fra svn status lettlest både for menneske og maskin. I tillegg begrenser informasjonen fra svn update seg til kun å inneholde filer som blir oppdatert, ikke lokale endringer.
svn status lister alle filer som inneholder lokale forandringer. Standard oppførsel er å ikke kontakte depotet og nettverkskontakt er derfor ikke nødvendig. Denne delkommandoen godtar en god del valg, dette er de mest vanlige:
-uKontakt depotet for å finne ut, og deretter vise informasjon om utdaterte elementer.
-vVis alle elementer som er under versjonskontroll.
-NKjør kommandoen ikke-rekursivt (ikke gå inn i underkataloger).
status-kommandoen har to visningsformater. Med det vanlige “korte” formatet ser lokale forandringer ut som dette:
$ svn status M foo.c M bar/baz.c
Hvis du spesifisererer valget
--show-updates (-u), brukes et
lengre format:
$ svn status -u
M 1047 foo.c
* 1045 faces.html
* bloo.png
M 1050 bar/baz.c
Status against revision: 1066
I dette tilfellet kommer to nye kolonner til syne.
Den andre kolonnen inneholder en asterisk hvis fila eller
katalogen er utdatert.
Den tredje kolonnen viser arbeidskopiens revisjonsnummer for
elementet.
I eksempelet ovenfor indikerer asterisken at
faces.html vil bli patchet hvis vi
oppdaterer, og at bloo.png er ei fil som
nylig er lagt til i depotet.
(Når revisjonsnummeret ved siden av
bloo.png mangler, betyr det at at fila ikke
eksisterer enda i arbeidskopien.)
Til sist, her er en rask oversikt over de vanligste statuskodene som du vil se:
A Ressursen er klargjort for tillegging (“Addition”) D Ressursen er klargjort for sletting (“Deletion”) M Ressursen inneholder lokale forandringer (“Modifications”) C Ressursen inneholder konflikter (forandringer er enda ikke blitt flettet sammen med depotet og arbeidskopien) (“Conflicts”) X Ressursen er ekstern i denne arbeidskopien (kan komme fra et annet depot (“eXternal”). Se “Externals Definitions” ? Ressursen er ikke under versjonskontroll ! Ressursen mangler eller er ikke komplett (fjernet av et annet verktøy enn Subversion)
For en mer detaljert diskusjon om svn status, se “svn status”.
svn update oppdaterer arbeidskopien din og skriver kun informasjon om filer som blir oppdatert.
Subversion har kombinert CVSs P- og
U-kode inn i den ene
U-koden.
Når en fletting eller konflikt oppstår, skriver Subversion rett
og slett bare G eller C,
istedenfor en hel setning om det.
For en mer detaljert diskusjon om svn update, se “Oppdater arbeidskopien din”.