André Laugks: CVS / TortoiseCVS und Marken

Beitrag lesen

Hallo!

Du meinst "Versionsnummern"? Die kannst du normalerweise in CVS nicht vergeben, die werden unabhängig verwaltet.

Die $Revision$ zeigt die CVS-Versionsnummer. Die ist bei ganz normalen Projekten ohne Verzweigungen immer zweistellig, wobei sich die zweite Stelle mit jedem vorgenommenen Commit dieses Files um eins erhöht.

Das ist mir klar, auch der inkrementel durchlaufen.

Vierstellige Versionsnummern in CVS entstehen, wenn man einen Ableger einer Datei anlegt (branch), beispielsweise um ausgehend von der Entwicklungsfront einen Stand unter Feature-Freeze bis zum einsatzfähigen Stadium weiterzuentwickeln, während die Entwicklung neuer Features parallel am Hauptstrang weitergeht.

Genau das möchte ich machen. Ich möchte eine Version als stabil "einstufen". Möchte aber parallel an der Version weiter arbeiten.

Aber "branch" ist ein gutes Stichwort.

Löse dich von der Vorstellung, die CVS-Versionsnummer wäre irgendeine Zahl mit Relevanz. Das ist ein intern mitlaufender Zähler, der für jede Datei einzeln gezählt wird, um die Versionen auseinanderhalten zu können, es hat aber absolut nichts mit "Versionsnummern" zu tun, wie sie zur Beschreibung eines Softwarereleases genutzt werden.

Ich hatte mir das so gedacht, daß ich eine Versionsnummer wie STABLE.Main.TEST.DEVEL vergebe bzw. CVS mir die dann reagiert. Je nach dem wie ich eine Datei einstufe wird der Teil um einer Nummer erhöht und ich dann so den Stand erkennen kann.

DEVEL   -> 0.0.0.1
DEVEL   -> 0.0.0.2
DEVEL   -> 0.0.0.3
TESR    -> 0.0.1.3 // oder 0.0.1.0
MAIN    -> 0.1.0.0
STABLE  -> 1.0.0.0

Bei einem Ausschecken möchte ich dann alle Dateien haben die ich als STABLE eingestruft habe.

Da die einzelnen Dateien sowieso alle unterschiedliche Nummern haben, ist die CVS-Version somit ohnehin unbrauchbar, was diese Angaben angeht.

Genau das ist mir gestern auch so in den Sinn gekommen.

Wenn du im CVS später den Versionsstand wiederfinden willst, der zu einer bestimmten veröffentlichten Version geführt hat, dann benutze Tags und schreibe in den Tagnamen die Versionsnummer der Veröffentlichung rein. Anders kriegst du es nicht hin, genau die Dateiversionen später auszuchecken, die damals zum Build genutzt wurden.

Mhhh, da komme ich jetzt nicht ganz mit.

Solltest du tiefer einsteigen wollen (ich fand das zumindest ganz informativ), empfehle ich dir http://cvsbook.red-bean.com/.

Ja ich möchte tiefer einsteigen, weil das wohl ein langjähriges Projekt wird.

MfG, André Laugks

--
L-Andre @ gmx.de