Versionierung, SourceSafe

09/12/2007 - 20:43 von Thomas Bauer | Report spam
Hallo,

mich würde interessieren wie Ihr das macht.

Macht das Sinn?
Bei jeder Kompilierung das Build zu erhöhen?

Ich habe viele kleinere Projekte, die sich komplett unterscheiden.
Also nicht 1 Pojekt und zweimal jàhrlich wird ein Release verteilt.

Nur Beispiel
V2.3.5.44.33.000222
Wie teilt Ihr das sinnvoll ein?

Wie wird SourceSafe 2005 richtig angewendet
a) lokal auf PC
b) Netz, Server
Wie wird das eingerichtet? Gibt es eine Anleitung?

Oder besser TeamFoundation?

Vergleichstool von Dateien; WinDiff oder gibt es was besseres?


Grüße Thomas
 

Lesen sie die antworten

#1 Henning Eiben
10/12/2007 - 09:18 | Warnen spam
Thomas Bauer wrote:

mich würde interessieren wie Ihr das macht.

Macht das Sinn?



Ein Code-Repository (ob nun VSS, SVN, CVS ...) macht auf jeden Fall
immer Sinne!

Bei jeder Kompilierung das Build zu erhöhen?



Ich finde ja. Somit làsst sich bei Bedarf zu einem beliebigen
Programmzustand zurückspringen, z.B. wenn ein neues Checkin zu
unerwünschten Nebeneffekten führt. Es muss ja nicht jedes Build zu einem
Release führen! Ausserdem vergeben ja VS/Repositories automatisch
Build-Nummern; hier ist die Herausforderung ggf. die beiden
"Nummernkreise" - also die Versionsnummer einer Assembly (Build-Nummer)
und die Versionsnummer einer Datei in der Quellcode-Verwaltung - zu
harmonisieren. Ich habe dazu CruiseControl verwendet, wobei ich die
Versionsnummer aus Subversion (sollte ggf. auch mit VSS oder
TeamFoundation gehen) als Build-Nummer verwende. Somit làsst sich ein
Build auch immer leicht einem Quellcode-Stand zuordnen, ohne dass der
Code extra für jedes Build gelabeld werden muss. Lediglich für Releases
verteile ich dann ein extra Label.

Ich habe viele kleinere Projekte, die sich komplett unterscheiden.
Also nicht 1 Pojekt und zweimal jàhrlich wird ein Release verteilt.

Nur Beispiel
V2.3.5.44.33.000222
Wie teilt Ihr das sinnvoll ein?



Was meinst du nun genau?

Wie wird SourceSafe 2005 richtig angewendet
a) lokal auf PC
b) Netz, Server



Genau! Auf dem Server (im Netz) liegt das VSS-Repository (bei VSS 6.0d
heißt das Datenbank). Auf dem lokalen PC liegt dann der VSS Client und
deine Arbeitskopie. Bei jedem Checkin wird dann alles in die Datenbank
committed.

Wie wird das eingerichtet? Gibt es eine Anleitung?



Also der VSS Server ist einfach: du braucht eine Share auf einem
File-Server. Fertig! Der Client ist in der Regel beim Visual-Studio
dabei (ich habe nur mit VSS 6.0d und VS 2003 bei einem Kunden
gearbeitet, sonst verwenden wir Subversion). Der Client verfügt über
eine entsprechende grafische Oberflàche.

Grundsàtzlich gibt es dafür auch eine Doku :)), die ist in der Regel bei
der Installation mit dabei (CHM-Datei oder so). Ansonsten ggf. ein Tipp:
Wenn du eine VSS-Datenbank einrichtest und Benutzer definierst, dann
wàre es ggf. eine Idee als Benutzernamen die Namen der Windows-Konten zu
verwenden. Dann kannst du in VSS die Anmeldung über die
Windows-Credentials aktivieren, und man braucht sich kein neues PWD für
VSS merken.

Da ich allerdings nur mit VSS 6.0 gearbeitet habe, kann ich leider auch
nru für die Version sprechen. Gerade TeamFoundation hat da extrem viele
Neuerungen erfahren (ich glaube endlich auch atomic checkin), und dafür
ist dann auch eine Server-Installation notwendig.

Wenn du dich noch nie mit Quellcode-Verwaltung auseinander gesetzt hast,
dann solltes du am besten mal ein wenig lesen und ggf. mit ein paar
einfachen Projekten anfangen und üben. Erst mit einer gewissen Zeit
ergibt sich, wie ein Repository am besten aussieht (was für
Verzeichnisse usw.). Das hàngt auch recht stark von dem jeweiligen
Build-Prozess ab. Daraus ergibt sich auch die Entscheidung ob man z.B.
Binaries mit in das Repository aufnimmt oder nicht. Ich persönlich
vermeide alle erzeugten Dateien in meinen Repositories, ich kenne aber
einige Argumente, die durchaus dafür sprechen können die Binaries auch
im Repository zu führen.

Oder besser TeamFoundation?



Kenne ich leider nicht aus eigener Erfahrung, sondern nur aus Webcasts.
Ist auf jeden Fall um làngen besser als VSS, besonders auch wenn man in
größeren und verteilten Teams arbeitet.

Vergleichstool von Dateien; WinDiff oder gibt es was besseres?



Tja, das hat auch einiges mit der Gewöhnung zu tun. Ich habe mich nie so
richtig an WinDiff gewöhnen können. Diff-Programme gibt es ja massig:
WinMerge, ExamDiff ... da ich Subversion benutze, verwende ich auch
TortoiseSVN und das darin enthalten TortoiseMerge (was auch ohne
Subversion verwendet werden kann).


Henning Eiben

busitec GmbH
Consultant

e-mail:


+49 (251) 13335-0 Tel
+49 (251) 13335-35 Fax

Rudolf-Diesel-Straße 59
48157 Münster
www.busitec.de

Sitz der Gesellschaft: Münster
HR B 55 75 - Amtsgericht Münster
USt-IdNr. DE 204607833 - St.Nr. 336/5704/1277
Geschàftsführer: Simon Böwer, Henning Eiben, Stefan Kühn, Martin Saalmann



... If it wasn't for C, we would be using BASI, PASAL and OBOL!

Ähnliche fragen