Trac & Subversion (SVN)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Anleitung wie Trac & SVN zusammen genutzt werden können.
    In diesem Artikel möchte euch zeigen, wie man Trac & SVN in Kombination betreibt. Was Trac ist könnt ihr im dazugehörigen Wiki-Artikel [wiki]Einführung in Trac[/wiki] lesen und auch was SVN ist kann man unter [wiki]Einführung in Subversion[/wiki] erfahren.

    Installation

    Wie immer beziehen sich meine Installationsanweisungen auf Ubuntu (UNIX) und können bei anderen Systemen abweichend sein. Als erstes wollen wir nun Subversion installieren. Ich gehe mal davon aus das Apache schon installiert ist - falls nicht:

    Quellcode

    1. sudo apt-get install apache2

    So jetzt SVN:

    Quellcode

    1. sudo apt-get install subversion
    2. sudo apt-get install libapache2-svn

    Zum Überprüfen, ob SVN richtig installiert wurde:

    Quellcode

    1. svnadmin --version

    Als erfolgreiche Ausgabe erhalten wir so etwas:

    Quellcode

    1. svnadmin, Version 1.6.6 (r40053)
    2. übersetzt Dec 12 2009, 05:06:12
    3. Copyright (C) 2000-2009 CollabNet.
    4. Subversion ist Open-Source-Software, siehe http://subversion.tigris.org/
    5. Dieses Produkt enthält Software, die von CollabNet (http://www.Collab.Net/) entwickelt wurde.
    6. Die folgenden Dateisystemmodule für Projektarchive stehen zur Verfügung:
    7. * fs_base : Modul zum Zugriff auf ein Berkeley-DB-Projektarchiv.
    8. * fs_fs : Modul zum Zugriff auf ein dateibasiertes (FSFS) Projektarchiv.
    Alles anzeigen

    Als nächstes widmen wir uns der Installation von Trac:

    Quellcode

    1. sudo apt-get install libapache2-mod-python
    2. sudo apt-get install python-setuptools
    3. sudo apt-get install python-subversion
    4. sudo easy_install Trac

    Auch hier wollen wir überprüfen, ob alles geklappt hat:

    Quellcode

    1. trac-admin ?

    Erfolgreiche Ausgabe sollte sein:

    Quellcode

    1. Welcome to trac-admin 0.11.7
    2. Interactive Trac administration console.
    3. Copyright (c) 2003-2009 Edgewall Software
    4. Type: '?' or 'help' for help on commands.
    5. Trac [/home/sl/?]>

    SVN konfigurieren

    Als erstes erstellen wir uns die folgende Ordner-Struktur:

    Quellcode

    1. sudo mkdir /server
    2. sudo mkdir /server/svn

    Dateirechte setzen:

    Quellcode

    1. sudo chown -R www-data /server/svn/
    2. sudo chmod -R 766 /server/svn/

    Als nächstes öffen wir die "dav_svn.conf"-Datei:

    Quellcode

    1. sudo gedit /etc/apache2/mods-available/dav_svn.conf

    Hier löschen wir einfach den Inhalt der sich eventuell bereits standardmäßig in der Datei befindet und fügen folgendes ein:

    Quellcode

    1. <Location /svn>
    2. DAV svn
    3. SVNParentPath /server/svn
    4. AuthType Basic
    5. AuthName "Subversion Repository"
    6. AuthUserFile /etc/trac_svn_access
    7. Require valid-user
    8. </Location>

    Nun müssen wir unsere "trac_svn_access" Datei erstellen, die nichts weiter ist als eine normale "htpasswd"-Datei:

    Quellcode

    1. sudo gedit /etc/trac_svn_access

    Jetzt müssen wir eine Benutzername-Passwort Kombination in die Datei schreiben (erstellen lassen können wir uns so etwas z.B. unter htpasswd-Generator):

    Quellcode

    1. Gambler:$apr1$T6rvz...$HVicSnysaUooz2xQ0W6Sa1

    Benutzername und Passwort sind in diesem Fall "Gambler".

    Zum Abschluss erstellen wir uns noch unser erstes Repository:

    Quellcode

    1. sudo svnadmin create /server/svn/exampleProject

    Trac konfigurieren

    Wir erweitern unsere Ordner-Struktur:

    Quellcode

    1. sudo mkdir /server/trac

    Dateirechte setzen:

    Quellcode

    1. sudo chown -R www-data /server/trac/
    2. sudo chmod -R 766 /server/trac/

    Jetzt legen wir unser erstes Trac-Projekt an:

    Quellcode

    1. sudo trac-admin /server/trac/exampleProject initenv

    Dann erfolgen einige Abfragen - als erstes vergeben wir unseren Projekt-Namen:

    Quellcode

    1. Project Name [My Project]> Our Example Project

    Bei den nächsten zwei Abfragen, drücken wir einfach Enter und nehmen den Standard-Wert:

    Quellcode

    1. Database connection string [sqlite:db/trac.db]>
    2. Repository type [svn]>

    Danach müssen wir den absoluten Pfad zu unserem SVN-Repository angeben:

    Quellcode

    1. Path to repository [/path/to/repos]> /server/svn/exampleProject

    Anschließend sollten wir folgenden Text erhalten:

    Quellcode

    1. The latest documentation can also always be found on the project
    2. website:
    3. http://trac.edgewall.org/
    4. Congratulations!

    Nun müssen wir wieder die "dav_svn.conf"-Datei anpassen:

    Quellcode

    1. sudo gedit /etc/apache2/mods-available/dav_svn.conf

    Am Ende der Datei fügen wir folgenden Inhalt ein:

    Quellcode

    1. Alias /trac /server/trac
    2. <Location /trac>
    3. SetHandler mod_python
    4. PythonInterpreter main_interpreter
    5. PythonHandler trac.web.modpython_frontend
    6. PythonOption TracEnvParentDir /server/trac
    7. PythonOption TracUriRoot /trac
    8. AuthType Basic
    9. AuthName "Trac"
    10. AuthUserFile /etc/trac_svn_access
    11. Require valid-user
    12. </Location>
    Alles anzeigen

    Bevor wir es vergessen - Admin-Rechte für einen Trac-User vergeben wir so ("Gambler" - man muss hier den identischen Benutzernamen, wie in der "trac_svn_access"-Datei nutzen):

    Quellcode

    1. sudo trac-admin /server/trac/exampleProject permission add Gambler TRAC_ADMIN permission list Gambler

    So und nun wird es Zeit endlich mal unseren Indianer neuzustarten:

    Quellcode

    1. sudo /etc/init.d/apache2 restart

    Anwendung

    Die normale (langweilige) SVN-Weboberfläche erreichen wir nun indem wir in unserem Browser die folgende Adresse aufrufen:

    Quellcode

    1. http://localhost/svn/exampleProject

    Nun sollten wir, wenn alles geklappt hat eine Passwort-Abfrage erhalten, bei der wir unsere Benutzername-Passwort Kombination eingeben - in meinem Fall bzw. in diesem Beitrag ist beides "Gambler". Aber wozu haben wir SVN mit Trac verknüpft - natürlich um z.B. die "Browse-Source"-Funktion von Trac zu nutzen, die mehr Informationen bietet und viel übersichtlicher ist. Wir können unter "Browse-Source" unser SVN-Repository einsehen und erhalten z.B. die Information, wann eine Datei das letzte mal geändert wurde - was sich geändert hat seit dem letzten Commit etc. - probiert es aus - es wird euch gefallen!

    Die Trac-Weboberfläche rufen so auf:

    Quellcode

    1. http://localhost/trac/exampleProject

    Auch hier werden wir wieder nach unserem Benutzernamen und nach unserem Passwort gefragt.

    Beispiel Repository-Tree:

    [Blockierte Grafik: http://image-upload.de/image/8tyeQf/8b2890e0f6.jpg]
    SVN-Diff unter Trac:

    [Blockierte Grafik: http://image-upload.de/image/6uXYqQ/0d199c990e.jpg]
    (das sind nur zwei alte SVN-Test-Repo Screens - hatte keine Lust extra für diesen Artikel neue zu machen xD)

    Man kann nun noch viele weitere indivuelle Einstellungen vornehmen und Funktionen nutzen im Zusammenhang mit Trac & SVN - aber an dieser Stelle soll es das gewesen sein.

    10.615 mal gelesen