Frage

Bevor ich beginne: Ich habe eine lange Zeit auf vielen Foren verbrachte (einschließlich Stack-Überlauf - und ja, es gibt eine Menge von SO Fragen auf svn Organisation), Google-Suche, und das Lesen von Dokumenten (ich besitze ein paar Subversion Bücher). Ich habe noch nicht eine gute Art und Weise zu organisieren unsere Codebasis in Subversion gefunden. Wir verwenden derzeit RCS als unser Revisionskontrollsystem und alles in 1 RCS-Verzeichnis gespeichert wird - Hässliche, ich weiß - das ist, warum ich besser auf etwas arbeitete. Ich habe auch Subversion eine Menge verwendet, so dass ich weiß, dass es Fähigkeiten und wie es funktioniert. Ich habe diese Frage seit Monaten gezögert, da sie nicht vollständig programmiert verwandt, aber da ich nicht in der Lage gewesen, zu einer Lösung zu kommen, was eine besseren Ort, um meine Frage zu stellen!

Was die Dinge in meinem Kopf kompliziert ist die Subversion Begriff „Projekt“. Wenn ich ein Java-Projekt in Subversion verwalten möchte, macht dies durchaus Sinn für mich: alle Java-Dateien, die in eine JAR-Datei kombiniert bekommen könnte ein „Projekt“ in Betracht gezogen werden - sie alle gehören zusammen. Doch in unserer Umgebung, sehe ich eine einfache Möglichkeit, nicht zu definieren, was ein „Projekt“ ist. Wir haben mehr als 4.000 Programme und alle von ihnen sind ziemlich unabhängig voneinander. Viele von ihnen sind Shell-Skripte oder Perl-Skripte. Einige unserer Skripte verwenden generic „Utility“ oder „Bibliothek“ Skripte, aber zum größten Teil, alle Codeobjekte sind indepenant.

Ein "Projekt" in unserer Umgebung könnte das Programm A, B und C, und Konfigurationsdatei AA einzubeziehen. Ein weiteres Projekt könnte verwenden Programme C, D und E und Konfigurationsdatei BB. Dennoch konnte ein weiteres Projekt nur Konfigurationsdatei AA werden zu ändern, oder vielleicht Programm B. Es gibt keine Art und Weise zu klassifizieren, in einer Gruppe, welche Programme oder Dateien gehören. Aus diesem Grund - ich habe keine Ahnung, wie unser Code in Subversion zu organisieren. Ich konnte alles in ein Hauptprojekt Stamm setzen, aber dann eine Arbeitskopie Check-out bedeutet, dass alle mehr als 4.000 Elemente heraus überprüfen.

einig Kontext zu geben, ist dies für einen Data Warehouse. Alle 4.000 + Codeelemente nötig sind, um die Lagerfunktion zu machen. Vielleicht eine bestimmte Geschäftsanforderungen kommt, dass Änderungen einer Spalte benötigt, die in einigen der Elemente zugegriffen wird, und eine andere geschäftliche Anforderung erfordert Änderungen an einigen anderen Elementen (vielleicht einige von derselben aus dem anderen Projekt).

Vielleicht Subversion ist nicht die beste Lösung für uns, obwohl ich es funktionieren kann, zu glauben haben. Wir haben bereits einen Subversion-Server für unseren Web-Code und unsere Java-Programme, und es funktioniert super, weil es leicht definierte Projekte sind. Ich kann einfach nicht herausfinden, wie unsere Code-Bibliothek zu organisieren.

Wir hoffen, dass einige der Sinn gemacht ... Vielen Dank im Voraus für Ihre Weisheit!

War es hilfreich?

Lösung

Sie aussehen könnten an dem externals Eigenschaft. Es ermöglicht Ihnen die Kasse des Verzeichnisses zu definieren, auf die sich diese Eigenschaft gebunden ist, werden auch andere Stellen innerhalb des Repository zu dessen Unterverzeichnisse Kasse.

So könnte man „echtes“ Verzeichnis für jede Komponente erstellen und dann separates Verzeichnis für jedes Projekt erstellen, die die Externen für die Kasse der benötigten Komponenten verwendet werden.

Andere Tipps

Ich würde versuchen, die Ordnerstruktur der Dateien zu organisieren, bevor das einfach in eine Subversion-Repository Dumping.

Ich denke, das Problem vor allem in der Desorganisation der vorhandenen Dateien liegt. Wenn Sie eine Möglichkeit logisch Ihr System in Segmente aufzuteilen finden können, dann wäre es einfacher, die Menschen zu erlauben, nur Stücke von Dateien zu überprüfen (die in logischen Gruppierungen wäre).

Subversion wirklich spiegelt ein Dateisystem, so dass, wenn es nicht in einem Dateisystem sieht hübsch, es wird nicht schön in Subversion sucht auch nicht.

Wenn Sie Dateien reorganisieren vermeiden wollen, können Sie vielleicht ein Versionskontrollsystem, die Sie überprüfen in können Dinge / out basierend auf Tags, statt, wo sie im Dateisystem sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top