SVN Branches und Visual Studio

Gast #3770296
Hi

Ich entwickle C++ Projekte mit Visual studio 2008.
Dabei habe ich Solutions die aus mehreren separat versionierten 
Projekten bestehen. Diese sind in Hauptprojekte und Grundmodule 
gegliedert.
Mein SVN sieht also so aus:

root\
-->Grundmodule
|-->Grundmodul1
||-->trunk
|||-->Grundmodul1.vcproj
||->tags
|||-->V0.1
||||-->Grundmodul1.vcproj
|||-->V0.2
||||-->Grundmodul1.vcproj
|-->Grundmodul2
||-->trunk
|||-->Grundmodul2.vcproj
||-->tags
|||-->V0.1
||||-->Grundmodul2.vcproj
-->Projekt1
|-->trunk
||-->Projekt1.vcproj
|-->tags
||-->V1.0
|||-->Projekt1.vcproj
-->Projekt2
|-->trunk
||-->Projekt2.vcproj
|-->tags
||-->V1.1
|||-->Projekt2.vcproj

Auf meiner Platte die dann so. Ausgechekct sind nur Trunks

root\
-->Grundmodule
|-->Grundmodul1
||-->Grundmodul1.vcproj
|-->Grundmodul2
||-->Grundmodul2.vcproj
-->Projekte
|-->Projekt1
||-->Projekt1.vcproj
|-->Projekt2
||-->Projekt2.vcproj

Generell arbeite ich auf dem trunk, Releases werden in Tags gebracht.
Grundmodule werden immer wieder überarbeitet und "modernisiert".
In meinem Projekten arbeite ich auf Absoluten Pfaden der Grundmodule

Wenn ich nun in einer alten Version eines Hauptprojektes einen Bug fixen 
möchte brauche ich die dazu passenden Versionen der Grundmodule.

Natürlich sind es mehr als nur ein zwei module und Hauptprojekte 
deswegen folgende Frage:

Wie kann ich, (teil-)automatisiert die Branches der Grundmodule 
auschecken.
Bzw. wie löst ihr diese Problem

Vielen Dank
derDäne
Gast #3770443
derDäne schrieb:
> Wie kann ich, (teil-)automatisiert die Branches der Grundmodule
> auschecken.
> Bzw. wie löst ihr diese Problem

Wir machen das auf arbeit so, das wir zu jedem projekt eine datei haben, 
in der alle unterprojekte mit svn-pfad und ggf. revisionsnummer drin 
steht.

In etwa so:

unterprojekt1: "https://mein/svn/server/projekt/trunk";
unterprojekt2: "https://mein/svn/server/projekt/branches/xy -r 4096"
unterprojekt3: "<vollstaendiger svn-pfad>"
unterprojekt4: "<vollstaendiger svn-pfad> -r 23401"
unterprojekt5: "<vollstaendiger svn-pfad> -r 96"

usw.

Über Skripte (shell/batch) kannst du die Datei einfach einlesen, 
auswerten und automatisch auschecken. Wenn du unter windows arbeitest 
brauchst du zu "tortoise svn" noch "slik svn". in meinem Beispiel wird 
für die unterprojekte 2, 4 und 5 die Projekte in der entsprechenden 
revision ausgecheckt. Die Datei muss natüerich gepflegt werden, aber 
wenn sie erstmal da ist, ist alles ganz easy.
Gast #3770946
Hey

Ich kenn mich da zu wenig aus aber Externals soll man doch nicht nehmen.

Ja das mit der Datei ist soweit einläuchtend.

Problem ist zusätzlich: ich möchte beim bearbeiten eines alten Standes 
meinen aktuelle Arbeitskopie nicht überschreiben
Irgendwie sollte das in einem separaten Ordner geschehen.
Gast #3770988
Läubi .. schrieb:
> Kaj schrieb:
>> Wir machen das auf arbeit so, das wir zu jedem projekt eine datei haben,
>> in der alle unterprojekte mit svn-pfad und ggf. revisionsnummer drin
>> steht.
>
> Ganz ohne Datei und Tools kann man sowas aber auch über SVN externals
> erreichen...

Hatten wir auch mal... dann haben wir angefangen den ganzen external 
mist raus zu werfen, weil die externals mehr arbeit und probleme gemacht 
haben, als sie loesten.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.