Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#1

Versionsnummern bei mehreren Versionszweigen

  Alt 19. Nov 2013, 17:03
Obwohl das Thema laut Suchfunktion ja schon behandelt wurde, möchte ich hier gerne ein paar Meinungen von euch zu diesem Thema einsammeln. Man selbst hat ja manchmal nur einen eingeschränkten Sichtraum und da helfen ein paar fremde Standpunkte sicher weiter.

Jahrelang habe ich bei meinen Projekten die verbreitete Major.Minor.Release.Build Nummerierung benutzt. Dabei war das Hochzählen der Nummern für die Major/Minor-Werte eher politisch motiviert als sachlich gerechtfertigt. Darunter allerdings war immer (zumindest theoretisch) gewährleistet, daß Versionen mit gleichem Major/Minor auf- und abwärtskompatibel waren was die externen Daten (Dateiformat, Datenbank) betrifft. Soll heißen, eine mit V2.1.11.608 beschriebene Datei/Datenbank war auch mit einer V2.1.8.412 noch zu bearbeiten. Sobald sich das Dateiformat in irgendeiner Form ändert, erfolgt ein Hochzählen im Major/Minor-Bereich (wobei das nicht zwingend zu Dateninkompatibilitäten führen muss). Die Release-Nummer war also für Fehlerbehebungen und kosmetische Anpassungen reserviert. Insbesondere erhielt jede freigegebene Version (eben jedes Release) eine eigene Release-Nummer. Mit den Kunden wurden dann auch entsprechend nur diese drei Werte kommuniziert. Die Build-Nummer wurde mit jedem (automatischen) Build erhöht und diente als Referenz für die Qualitätssicherung.

Soweit, so gut. Kommen wir aber nun zum Rücksetzen dieser Werte (und hier bin ich gespannt auf eure Beiträge): Während die Major-Version wohl eher selten auf 0 gesetzt wird, habe ich die Minor- und Release-Version immer bei der Erhöhung einer der höheren Nummern auf 0 gesetzt. Die Build-Version sollte nach diesem Schema eigentlich auch immer bei einer Erhöhung der Release-Version auf 0 gesetzt werden, allerdings bin ich hier von diesem Schema abgewichen. Die Build-Version wird kontinuierlich erhöht, weil so die Kommunikation mit den Testern einfacher war.

Nun hatte es sich irgendwie so ergeben, daß die Build-Nummer bei einem Wechsel der Major/Minor-Nummern doch auf 0 gesetzt wurde, da das Build-System sonst durcheinander gekommen wäre. Ausgelöst wurde das durch Maintenance-Releases für ältere Versionen (Major/Minor), wenn schon neuere Versionen (Major/Minor) freigegeben waren. Im Ergebnis kommt so also eine Art Hybrid-Nummerierung raus, die eigentlich keinem rechten Schema folgt. Irgendwie bin ich damit nicht ganz zufrieden. Deshalb dieser (zugegeben etwas längliche) Beitrag. Wie handhabt ihr das?

Gleich vorweg: Die Subversion-Revisionsnummer steht hier nicht zur Verfügung.

Nächster Knackpunkt war mein erstes Projekt für OSX. Dort gibt es nur drei statt vier Nummern und das obige Schema lässt sich dort nicht so einfach übernehmen. Ich weiß, daß da noch nicht allzu viele Erfahrungen vorhanden sein werden, aber vielleicht hat ja doch jemand eine pfiffige Idee.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat