SVN Branches und Visual Studio

Gast #3770296
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren