CVS Tags

Dieses Kapitel betrifft nur Pakete, welche CVS auf cvs.php.net verwenden.

Fügen Sie das $Id$ CVS Schlüsselwort in jede Datei ein. Wenn Sie eine Datei editieren und dieses Schlüsselwort noch nicht vorhanden ist, fügen Sie es bitte hinzu (oder ersetzen Sie bereits vorhandene Formen wie "Last Modified:", etc.).

Der Rest dieses Kapitels setzt ein Grundwissen über CVS Tags und Branches voraus.

CVS Tags werden benutzt, um zu kennzeichnen, welche Revision der Dateien zu einem bestimmten Release gehören. Die folgende Liste beschreibt die benötigten bzw. vorgeschlagenen CVS Tags:

RELEASE_n_n

(benötigt) Wird verwendet, um ein Release zu kennzeichnen. Wenn Sie es nicht verwenden, können Sie später nicht mehr zurückgehen, und Ihr Paket, wie es zum Zeitpunkt dieses Releases war, vom CVS Server holen.

QA_n_n

(branch, optional) Wenn Sie vor einem Release einen Release Candidate herausbringen möchten, empfiehlt sich die Erstellung eines Branches. So können Sie das Release isolieren, und vor dem endgültigen Release nur mehr Fixes von kritischen Fehler einspielen, während im Hauptzweig die normale Entwicklung weitergeführt wird.

MAINT_n_n

(branch, optional) Wenn Sie "Micro-Releases" (z.B. 1.2.1, usw. nach 1.2), können Sie auch für diese einen Branch erstellen, wenn im Hauptzweig starke Aktivitäten sind, und Sie nur kleinere Änderungen zwischen den "Micro-Releases" durchführen möchten.

Es wird nur der RELEASE Tag benötigt, der Rest wird entsprechend Ihren Bedürfnissen empfohlen.

Folgendes Beispiel zeigt, wie man das Release 1.2 des "Money_Fast" Paketes kennzeichnet:

$ cd pear/Money_Fast
$ cvs tag RELEASE_1_2
T Fast.php
T README
T package.xml

Damit machen Sie es der Pear Webseite möglich, Sie durch den Rest Ihres Release Prozesses zu führen.

Hier ein Beispiel, wie man einen QA Branch erstellt:

$ cvs tag QA_2_0_BP
...
$ cvs rtag -b -r QA_2_0_BP QA_2_0
$ cvs update -r QA_2_0
$ cvs tag RELEASE_2_0RC1
...und dann das aktuelle Release des selben Zweigs:
$ cvs tag RELEASE_2_0

Der "QA_2_0_BP" Tag ist ein "branch point" Tag, sprich der Ausgangspunkt des Tags. Es wird empfohlen, immer einen CVS branch von solchen Branch Points aus zu beginnen.