Ich bevorzuge sehr die zweite Möglichkeit, maven oder ant/ivy zu verwenden, um die Artefakte aus anderen Projekten zu übernehmen, wenn nötig.
Ich ziehe es auch vor, ein einziges Projekt pro Repository zu haben oder eine kleine Anzahl von verwandten Repositories.
Es vereinfacht die Zugriffskontrolle, die auf Repository-Ebene einfacher ist als auf Pfad-Ebene innerhalb des Repositorys - insbesondere bei der Authentifizierung gegen LDAP.
Backup-/Restore-Vorgänge sind anfangs etwas komplizierter, da Sie alle Repositories durchgehen müssen, um eine Hot-Copy durchzuführen, aber im Unglücksfall müssen Sie nur ein Repo wiederherstellen - die anderen müssen nicht offline genommen oder Daten verloren gehen. Nachdem Projekte gestorben sind, können die Repositories einfach gelöscht werden, um Platz bei zukünftigen Backups zu sparen.
Hook-Skripte werden einfacher, wenn es nur ein Projekt (oder eine kleine Anzahl von verwandten Projekten) pro Repository gibt. Sie müssen den betroffenen Pfad nicht überprüfen, um bedingt Maßnahmen in Ihrem Hook zu ergreifen.
Wie retracile bemerkte, wird ein monolithisches Repository wahrscheinlich zu einer großen Herausforderung, wenn Sie jemals selektiv exportieren möchten, indem Sie svndumpfilter verwenden - die Anzahl der geänderten Pfade, die dazu führen, dass es abstürzt, ist wahrscheinlich hoch.
Das Upgraden des Repository-Schemas für zukünftige Versionen von svn erfordert mehr Aufwand - Sie müssen es n-Mal tun anstatt nur einmal... aber es kann automatisiert werden und Sie müssen nicht alle gleichzeitig koordinieren.
Wenn jemand ein Passwort commitet und Sie es löschen müssen, können Sie das Dump/Filter/Reload schnell in einem Repo durchführen, ohne andere Teams zu beeinträchtigen.
Ein Ratschlag, wenn Sie diesen Weg gehen - haben Sie eine separate .conf-Datei pro Repository anstatt eine große, es ist einfacher zu verwalten und bietet auch die Gewissheit, dass einige Zeitstempel alt sein werden - wenn etwas nicht stimmt, können Sie nach kürzlichen Änderungen leichter suchen.
0 Stimmen
Wie hilft es Ihnen, Code freizugeben, wenn Sie dasselbe Repository für mehrere Projekte verwenden?
0 Stimmen
Du sagst mir ;-) Das steht im Subversion-Handbuch.