34 Stimmen

Subversion-Repository-Layout

Die meisten Subversion-Tools erstellen eine Standard-Repository-Struktur mit /trunk, /branches und /tags. Die Dokumentation empfiehlt auch, keine separaten Repositories für jedes Projekt zu verwenden, damit der Code leichter geteilt werden kann.

Dem Rat zu folgen hat dazu geführt, dass ich ein Repository mit der folgenden Struktur habe:

/trunk
      /Projekt1
      /Projekt2
/branches
         /Projekt1
         /Projekt2
/tags
     /Projekt1
     /Projekt2

und so weiter, du verstehst schon. Im Laufe der Zeit habe ich diese Struktur ein wenig umständlich gefunden und es ist mir eingefallen, dass es eine alternative Interpretation der Empfehlungen gibt, wie zum Beispiel:

/Projekt1
         /trunk
         /branches
         /tags
/Projekt2
         /trunk
         /branches
         /tags       

Also, welche Struktur verwenden die Leute und warum? Oder - gibt es vielleicht eine andere Möglichkeit, Dinge zu tun, die mir vollkommen entgangen ist?

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.

1voto

Lucky Punkte 15797

Verweis Repository-Layout aus dem svnbook

Es gibt einige gängige, empfohlene Methoden, um den Inhalt eines Repositories zu organisieren. Die meisten Leute erstellen ein trunk-Verzeichnis, um die "Hauptlinie" der Entwicklung zu halten, ein branches-Verzeichnis für Zweigkopien und ein tags-Verzeichnis für Tagkopien.

/
   trunk/
   branches/
   tags/

Wenn ein Repository mehrere Projekte enthält, indizieren Administratoren normalerweise ihr Layout nach Projekt.

Hier ist ein Beispiel für ein solches Layout:

/
   paint/
      trunk/
      branches/
      tags/
   calc/
      trunk/
      branches/
      tags/

Natürlich sind Sie frei, diese gängigen Layouts zu ignorieren. Sie können jede Art von Variation erstellen, die für Sie oder Ihr Team am besten funktioniert. Denken Sie daran, dass was auch immer Sie wählen, es keine dauerhafte Verpflichtung ist. Sie können Ihr Repository jederzeit neu organisieren. Da branches und tags einfache Verzeichnisse sind, kann der svn move Befehl sie beliebig verschieben oder umbenennen. Der Wechsel von einem Layout zu einem anderen ist nur eine Frage der Ausgabe einer Serie von serverseitigen Verschiebungen; wenn Ihnen die Organisation im Repository nicht gefällt, verschieben Sie einfach die Verzeichnisse hin und her.

Vergessen Sie jedoch nicht, dass das Verschieben von Verzeichnissen zwar einfach ist, Sie aber auch auf andere Benutzer Rücksicht nehmen müssen. Ihr Verschieben kann Benutzer mit vorhandenen Arbeitskopien desorientieren. Wenn ein Benutzer eine Arbeitskopie eines bestimmten Verzeichnisses im Repository hat und Ihr svn move Befehl den Pfad aus der neuesten Revision entfernt, wird dem Benutzer beim nächsten Ausführen von svn update mitgeteilt, dass seine Arbeitskopie einen Pfad repräsentiert, der nicht mehr existiert. Er wird dann gezwungen sein, zu der neuen Position zu wechseln.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X