Versjonskontroll med Subversion

For Subversion 1.4

(Bokrevisjon 4249)

Ben Collins-Sussman

Brian W. Fitzpatrick

C. Michael Pilato

Øyvind A. Holm

Oversettelse til norsk 

Dette verket er lisensiert under Creative Commons Attribution License. For å se en kopi av denne lisensen, gå til http://creativecommons.org/licenses/by/2.0/ eller send et brev til Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.


Innholdsfortegnelse

Forord
Innledning
Publikum
Hvordan lese denne boka
Konvensjoner brukt i boka
Typografiske konvensjoner
Ikoner
Organiseringen av denne boka
Denne boka er fri
Krediteringer
Fra Ben Collins-Sussman
Fra Brian W. Fitzpatrick
Fra C. Michael Pilato
Hva er Subversion?
Subversions historie
Subversions fordeler
Subversions arkitektur
Subversions komponenter
1. Grunnleggende konsepter
Depotet
Versjoneringsmodeller
Problemet med fildeling
Lås-rediger-lås opp-løsningen
Kopier-rediger-flett-løsningen
Subversion i aksjon
Depot-URLer i Subversion
Arbeidskopier
Revisjoner
Hvordan arbeidskopier holder følge med depotet
Arbeidskopier med blandede revisjonsnumre
Oppdateringer og innlegginger er separate
Blandede revisjoner er normalt
Blandede revisjoner er nyttige
Blandede revisjoner har begrensninger
Oppsummering
2. Grunnleggende bruk
Hjelp!
Importering
Tidsreiser med Subversion
Innledende uthenting
Grunnleggende arbeidssyklus
Oppdater arbeidskopien din
Gjør forandringer i arbeidskopien
Studer forandringene dine
svn status
svn diff
svn revert
Løse konflikter (Flette inn andres forandringer)
Løse konflikter for hånd
Kopiere ei fil over arbeidsfila din
Bruke svn revert
Legg inn forandringene dine
Studere historien
svn log
svn diff
Undersøke lokale forandringer
Sammenligne arbeidskopi med depot
Sammenligne depot med depot
svn cat
svn list
Et siste ord om historie
Andre nyttige kommandoer
svn cleanup
svn import
Oppsummering
3. Avanserte emner
Revision Specifiers
Nøkkelord for revisjoner
Revisjonsdatoer
Egenskaper
Hvorfor bruke egenskaper?
Manipulering av egenskaper
Egenskaper og arbeidsflyten i Subversion
Automatic Property Setting
File Portability
File Content Type
File Executability
End-of-Line Character Sequences
Ignoring Unversioned Items
Keyword Substitution
Locking
Creating locks
Discovering locks
Breaking and stealing locks
Lock Communication
Externals Definitions
Peg and Operative Revisions
Nettverksmodellen
Forespørsler og reponser
Lagring av klientlegitimasjon
4. Forgrening og fletting
Hva er en forgrening?
Bruke forgreninger
Opprette en forgrening
Arbeide med grenen
Nøkkelkonseptet bak forgreninger
Kopiere forandringer mellom forgreninger
Kopiere spesifikke forandringer
Nøkkelkonseptet bak fletting
Beste praksiser for fletting
Følge flettinger manuelt
Vise flettinger på forhånd
Konflikter under fletting
Legge merke til eller ignorere slektskap
Vanlige bruksområder
Flette en hel gren til en annen
Omgjøre forandringer
Hente tilbake slettede elementer
Vanlige forgreningsmønstre
Utgivelsesgrener
Funksjonalitetsgrener
Bytte om en arbeidskopi
Merker (tags)
Lage et enkelt merke
Lage et komplekst merke
Vedlikehold av grener
Utseendet på depotet
Levetid for data
Leverandørgrener
Generell prosedyre for vedlikehold av leverandørgrener
svn_load_dirs.pl
Oppsummering
5. Depotadministrasjon
Det grunnleggende ved et depot
Forståelse av transaksjoner og revisjoner
Uversjonerte egenskaper
Datalagring i depotet
Berkeley DB
FSFS
Opprettelse og konfigurering av depotet
Påhakningsskript
Konfigurasjon av Berkeley DB
Vedlikehold av depotet
En administrators verktøykasse
svnlook
svnadmin
svndumpfilter
Berkeley DB-verktøy
Depotvedlikehold
Bruken av diskplass
Depotgjenoppretting
Flytte et depot
Sikkerhetskopi av depotet
Legge til prosjekter
Velge en depot-layout
Opprette layouten og importere grunndataene
Oppsummering
6. Serverkonfigurasjon
Oversikt
The Apache HTTP Server
The svnserve Server
svnserve over SSH
Choosing the Best Server Configuration
svnserve, en tilpasset server
Starte serveren
svnserve as Daemon
svnserve via inetd
svnserve i en tunnel
svnserve as Windows Service
Innebygget autentisering og autorisasjon
Opprette en brukerfil og område
Sette tilgangskontroll
Autentisering og autorisasjon via SSH
Konfigurasjonstriks i SSH
Innledende oppsett
Kontrollere den startede kommandoen
HTTP-serveren Apache (httpd)
Systemkrav
Grunnleggende oppsett av Apache
Autentiseringsvalg
Enkel HTTP-autentisering
Håndtering av SSL-sertifikater
Autorisasjonsvalg
Adgangskontroll for hele depotet
Adgangskontroll på katalognivå
Slå av stibaserte kontroller
Flere lure ting
Bla gjennom depotet
Apache Logging
Annen funksjonalitet
Path-Based Authorization
Støtte for flere metoder for tilgang til depotet
7. Tilpasse Subversion til din smak
Konfigurasjonsområdet for bruk under kjøring
Oppbygningen av konfigurasjonsområdet
Konfigurasjon og Windows-registryen
Konfigurasjonsvalg
Servere
Konfigurasjon
Localization
Understanding locales
Subversion's use of locales
Using External Differencing Tools
External diff
External diff3
8. Developer Information
Layered Library Design
Repository Layer
Repository Access Layer
RA-DAV (Repository Access Using HTTP/DAV)
RA-SVN (Custom Protocol Repository Access)
RA-Local (Direct Repository Access)
Your RA Library Here
Client Layer
Using the APIs
The Apache Portable Runtime Library
URL and Path Requirements
Using Languages Other than C and C++
Inside the Working Copy Administration Area
The Entries File
Pristine Copies and Property Files
WebDAV
9. Subversion Complete Reference
The Subversion Command Line Client: svn
svn Switches
svn Subcommands
svn add
svn blame
svn cat
svn checkout
svn cleanup
svn commit
svn copy
svn delete
svn diff
svn export
svn help
svn import
svn info
svn list
svn lock
svn log
svn merge
svn mkdir
svn move
svn propdel
svn propedit
svn propget
svn proplist
svn propset
svn resolved
svn revert
svn status
svn switch
svn unlock
svn update
svnadmin
svnadmin Switches
svnadmin Subcommands
svnadmin create
svnadmin deltify
svnadmin dump
svnadmin help
svnadmin hotcopy
svnadmin list-dblogs
svnadmin list-unused-dblogs
svnadmin load
svnadmin lslocks
svnadmin lstxns
svnadmin recover
svnadmin rmlocks
svnadmin rmtxns
svnadmin setlog
svnadmin verify
svnlook
svnlook Switches
svnlook
svnlook author
svnlook cat
svnlook changed
svnlook date
svnlook diff
svnlook dirs-changed
svnlook help
svnlook history
svnlook info
svnlook lock
svnlook log
svnlook propget
svnlook proplist
svnlook tree
svnlook uuid
svnlook youngest
svnserve
svnserve Switches
svnversion
svnversion
mod_dav_svn
mod_dav_svn Configuration Directives
Subversion properties
Subversion-defined properties
A. Hurtiginnføring i Subversion
Installering av Subversion
Høyhastighetsopplæring
B. Subversion for CVS-brukere
Revisjonsnumre er forskjellige nå
Katalogversjoner
Flere frakoblede operasjoner
Skille mellom status og oppdatering
Status
Update
Forgreninger og merker
Metadata-egenskaper
Reparering av konflikter
Binære filer og konverteringer
Versjonerte moduler
Autentisering
Konvertere et depot fra CVS til Subversion
C. WebDAV and Autoversioning
Basic WebDAV Concepts
Original WebDAV
DeltaV Extensions
Subversion and DeltaV
Autoversioning
Client Interoperability
Standalone WebDAV applications
Microsoft Office, Dreamweaver, Photoshop
Cadaver, DAV Explorer
File-explorer WebDAV extensions
Microsoft Web Folders
Nautilus, Konqueror
WebDAV filesystem implementation
WebDrive, NetDrive
Mac OS X
Linux davfs2
D. Third Party Tools
E. Copyright
Indeks

Figuroversikt

1. Subversions arkitektur
1.1. Et typisk klient/server-system
1.2. Problemet som må unngås
1.3. Lås-rediger-lås opp-løsningen
1.4. Kopier-rediger-flett-løsningen
1.5. Kopier-rediger-flett-løsningen (forts.)
1.6. Depotets filsystem
1.7. Depotet
4.1. Forgreninger av utviklingen
4.2. Depotets utseende til å begynne med
4.3. Depot med ny kopi
4.4. Forgreningen av ei fils historie
8.1. Files and directories in two dimensions
8.2. Versioning time—the third dimension!

tabelloversikt

1.1. URLer for tilgang til et depot
5.1. Sammenligning av datalagring i depoter
6.1. Sammenligning av nettverksservere
8.1. A Brief Inventory of the Subversion Libraries
C.1. Common WebDAV Clients

Eksempeloversikt

5.1. txn-info.sh (Rapporterer utestående transaksjoner)
6.1. Et eksempel på oppsett for anonym tilgang.
6.2. Eksempel på oppsett for autentisert tilgang.
6.3. Eksempel på oppsett for blandet autentisert/anonym tilgang.
6.4. Slå av alle filstikontroller
7.1. Eksempel på registryposter i ei .reg-fil.
7.2. diffwrap.sh
7.3. diffwrap.bat
7.4. diff3wrap.sh
7.5. diff3wrap.bat
8.1. Using the Repository Layer
8.2. Using the Repository Layer with Python
8.3. A Python Status Crawler
8.4. Contents of a Typical .svn/entries File