Hallo,
die "/etc/apache2/dav_svn.passwd" aus dem Tutorial enthält m.E. nur die Authentifizierungsdaten für apache_auth.
Innerhalb der VHost-Conf legst du mit <Locatian /svn> fest, dass bei Aufruf von
http://server.domain.lan/svn das Verzeichnis "SVNPath /home/svn" (siehe Doku) aufgerufen wird. Das Repository ist also /home/svn und da drin liegen Projekte.
Nun mal zu deinem Beispiel:
Code: Alles auswählen
mkdir -p /var/local/svn/foobar
svnadmin create /var/local/svn/foobar
chown -R www-data:www-data /var/local/svn/foobar
Du legst hier das Verzeichnis an und machst es zu einem Repository. Dein Repo ist also "foobar". So würdest du das bei "svn co" ansprechen. Innerhalb dieses Verzeichnisses (bzw. Repos) legst du Projekte an. Diese können dann die Verzeichnisse trunk, tag, ... enthalten, müssen aber nicht. Es gibt da je nach Anforderung an die Struktur und das Umfeld mehrere Varianten der Verzeichnisstruktur.
Möglichkeiten:
1) Repository ist gleich Projekt:
Wahrscheinlich die einfachste Variante. Du legst dein Das Repository mit "svnadmin create ..." an und wirfst direkt dort rein alle deine Projektdateien. Dann hättest du für jedes Projekt ein Repo. Der Vorteil ist, jede Revisionsnummer bezieht sich auf eine tatsächliche Änderung an deinem Projekt.
2) ein Repository, viele Projekte.
Du legst wie oben ein Repository an, packst da aber verschiedene Projekte, also weitere Verzeichnisse, rein, die jeweils eigene Projektdaten enthalten. Z.B.
Der "Nachteil" dabei ist, die Revisionsnummer erhöht sich bei jedem commit. Also ein commit im Projekt "script" erhöht auch die Revision für "kalender", da die Revisionsnummer für das Repository ist.
3) Dann gibt es noch die Varianten mit den trunks, tags, .... Das könnte so aussehen:
Code: Alles auswählen
repo
|----- kalender
| |----- trunk
| |----- tag
| |----- branches
|----- script
| |----- trunk
| |----- tag
| |----- branches
|----- howtos
| |----- trunk
| |----- tag
| |----- branches
aber auch so:
Code: Alles auswählen
repo
|----- trunk
| |----- kalender
| |----- script
| |----- howtos
|----- tag
| |----- kalender
| |----- script
| |----- howtos
|----- branches
| |----- kalender
| |----- script
| |----- howtos
Vor-/Nachteile muss sich jeder selber überlegen. Für kleine Projekte oder nur ganz wenige Entwickler macht das vielleicht keinen Sinn.
4) Und es gibt natürlich noch die Mischform aus allem. Also viele Repositories, die auch jeweils eine Menge Projekte enthalten, mit oder ohne branches, tags, trunks ....
Das Projekt wäre in diesen Fällen z.B. "kalender", egal wo es sich befindet. Im Fall 1) ist das Repository gleich das Projekt und würde "kalender" heißen.
So, ich hoffe ich konnte etwas Klarheit verschaffen und hab dich nicht noch weiter verwirrt.
McAldo
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)