Mac OS X 10.5 Leopard kommer med Subversion 1.4.4. för-installerat. Det kommer också med Apache2 för-installerat. Det kommer dock inte med med en för-installerad subversion förvaringsplats konfigurerat åt en.
Så då måste vi fixa detta själv, så att vår kära Leopard maskin kan hantera vår egen källkod.
Du kan gå till subversions hemsida och ladda ned den fria boken, och gå igenom helt och fundera ut hur detta gäller för dig, eller så kan du följa dessa enkla exempel som jag beskriver åt dig.
Göra en förvaringsplats
Det första man måste göra är att skapa en förvaringsplats. Faktiskt, för mina behov så måste jag ha flera stycken, så dessa instruktioner kommer att fungera för flera platser. Det är bara på två ställen som detta gäller hur som helst, det är ingen stor sak.
Nu väljer jag att ha förvaringsplats i /Users/Shared/, men du kan ha det var du vill, inklusive i den annars så populära /usr/local/. Var bara säker på att ändra sökvägarna, där det måste.
Öppna upp terminalen och skriv in följande:
$ sudo mkdir -p /Users/Shared/svn/namn $ sudo svnadmin create /Users/Shared/svn/namn $ sudo chown -R www:www /Users/Shared/svn/namn
Notera att du kan skapa flera förvaringsplatser enkelt genom att bara byta ut ”namn” mot ditt andra namn. Om du vill skapa namn & namn2 så byt ut namn mot namn2. Genom att du skapar flera förvaringsplatser så kommer du därmed även att få fler kataloger i /Users/Shared/svn/
Skapa tillträde
Dom flesta guider gör detta senare, men jag gör det nu eftersom jag tror du är smartare än så.
Du kanske vill skapa en lösenordsfil, såvida du inte vill ha fritt tillträde för din förvaring. För mig så räcker det med simpel HTTP autentisering, men kom ihåg att användarnamn & lösenord kommer att skickas i väldigt svag kodning, och trafiken är troligen inte alls kodad (om du nu inte har belönat dig själv med lyxen att ha SSL till din maskin), så en person som sniffar din trafik kommer inte ha något starkt motstånd för att få tillträde.
Så om du vill använda autentisering, skapa en lösenordsfil genom följande kommando, byt ut användarnamn för ett användarnman som du väljer, och följ anvisningarna under:
$ sudo htpasswd -cm /etc/apache2/svn-auth-file username
För att lägga till fler användare till filen, ta bara bort ”c” switchen i ”-cm” valet till htpasswd. C:et står för ”create” (skapa), och eftersom filen är skapad så behöver du inte det igen.
Notera att du välja att ha svn-auth-file var du vill i systemet, men det känns som en bra plats att ha den i min skalle. (Kom bara ihåg att du var du lägger den.)
Apache Konfigurering
Navigera till /etc/apache2/other och använd din favorit editor för att ändra som ”root” för att skapa en fil som heter vad som helst (jag kör på svn.conf, men du kan döpa den till choklad.conf och det kommer fortfarande att fungera):
$ cd /etc/apache/other $ sudo nano svn.conf
Nu när du ändrar denna fil som root, så se till att den innehåller följande och spara sen.
LoadModule dav_svn_module /usr/libexec/apache2/mod_dav_svn.so <Location /svn> DAV svn SVNParentPath /Users/Shared/svn AuthType Basic AuthName "Subversion repository" AuthUserFile /etc/apache2/svn-auth-file Require valid-user </Location>
Du kan ta bort dom fyra sista raderna (från AuthType Basic till Require valid-user) om du inte vill ha autentisering. Du behöer också eventuellt fixa SVNParentPath och AuthUserFile om du har valt andra sökvägar än dom jag valt till mig själv.
Starta om Apache
Detta kan du göra under ”Delning” under System Inställningar, bara att bocka av och sedan bocka bredvid Webbdelning.
Nu om du inte har gjort ett misstag så är du klar. Testa att gå till: http://localhost/svn/namn (du behöver byta ut namn emot det namn du tidigare valde) och se vad som händer.
Om du har tur så kommer du att se Revision 0 i din förvaringsplats. Men de flesta är människor och kan ha skrivit fel någonstans. För att få reda på vad som kan generera fel, försök och kontrollera /var/log/system.log och /var/log/apache2/error_log för ledtrådar om vad du kan ha gjort för fel. (Och som en bonus, det finns en underbar applikation som heter ”tail”, med ”-f” som argument (Tex. tail -f /var/log/system.log) så kan du se i realtid vad som skrivs.)
Och nu då?
Nu är du redo att använda din förvaringsplats. Nu tror jag också att du redan vet hur man använder SVN och inte behöver min hjälp mer. Men om du vill veta hur man använder SVN, gå då till deras bok som kommer att berätta vad du vill veta och lite till, även hur du skall göra din server bättre.
