Verknüpfen mehrerer Ordner zu einem einzigen Ordner, damit relative Pfade funktionieren. (Fedora)

Verknüpfen mehrerer Ordner zu einem einzigen Ordner, damit relative Pfade funktionieren. (Fedora)

Ich habe ein SVN-Repository, dessen Struktur nicht mit den erforderlichen relativen Build-Pfaden übereinstimmt.

Das SVN-Repo-Verzeichnis sieht ungefähr so ​​aus

  1. Wurzel
    • Alpha
      • Stamm
        • Seite 1
        • Teil 2
        • Teil 3
      • Etikett
      • Zweig
    • Bravo
      • Stamm
        • Seite 4
        • Seite 5
        • Seite 6
      • Etikett
      • Zweig

Die Build-Verzeichnisstruktur, die ich brauche, ist

  1. Wurzel
    • Seite 1
    • Teil 2
    • Teil 3
    • Seite 4
    • Seite 5
    • Seite 6

Ich möchte die SVN-Struktur unverändert lassen können, vor allem, weil ich sie nicht wirklich anpassen kann. Ich möchte auch, dass, wenn einem Trunk etwas anderes hinzugefügt wird, beispielsweise p7 in Alpha, das automatisch dem Build-Verzeichnis hinzugefügt wird. Damit der Build funktioniert, müsste ich in der Lage sein, von p1 aus einen Befehl wie cd ../p2/ auszugeben und es in den Ordner p2 zu verschieben.

Ich glaube, dass eine Art Verlinkung der Weg ist, den ich brauche, aber ich bin ein wenig ratlos, wie ich das angehen soll.

Dank im Voraus.

Antwort1

Eine Möglichkeit, dies zu tun (nur mit SVN), besteht darin, ein drittes Projekt unter root zu erstellen und es „build“ zu nennen. Es könnte einen Stamm, Tags und Zweige haben, wie Sie möchten. Innerhalb des „build“-Projekts könnten Sie Ihr Makefile oder was auch immer behalten, aber meistens hätte „build“ nur eine svn:externals-Regel, um alle erforderlichen Komponenten (und in der entsprechenden Revision) einzubinden. Dann können Sie jede beliebige Verzeichnisstruktur erstellen und dabei die normalen Repository-Speicherorte unverändert lassen.

Ein großer Nachteil dieser Methode ist, dass es schwieriger wird, Änderungen zu erstellen, bevor Sie sie festschreiben. Sie können dies jedoch trotzdem erreichen, indem Sie Ihre Änderungen aus der „Build“-Arbeitskopie herausarbeiten, indem Sie bei Bedarf eine temporäre Änderung an svn:externals vornehmen, um den HEAD anstelle einer bestimmten Revision einzubinden.

verwandte Informationen