Versionsnummern
Versionsnummern
Ich wunder mich, dass bei manchen Programmen (z.B Linux) eine mathematisch kleinere Nummer eine neuere Version bedeutet. Warum ist das so. Benutzen viele Programme so eine Nummerierung und wie muss man die Versionsnummern allgemein lesen?
- KBDCALLS
- Moderator
- Beiträge: 22359
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Gib mal ein Beispiel.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Wie schon geschrieben, sind Versionsnummer in der Unixwelt keine Dezimalzahlen.
Auf 1.9 folgt also nicht 2.0 ("Zwei Punkt Null") sondern 1.10 ("Eins Punkt Zehn"). Majorversionsnummern werden in der Regel nur erhöht, wenn sich das Programm stark verändert hat, z.B. wenn es nicht mehr mit Programmen, die auf die alte Version aufsetzen, funktioniert.
Ebenso ist 1.0 für die erste stabile und vollständige Version reserviert, man fängt also bei 0.1 an.
Auf 1.9 folgt also nicht 2.0 ("Zwei Punkt Null") sondern 1.10 ("Eins Punkt Zehn"). Majorversionsnummern werden in der Regel nur erhöht, wenn sich das Programm stark verändert hat, z.B. wenn es nicht mehr mit Programmen, die auf die alte Version aufsetzen, funktioniert.
Ebenso ist 1.0 für die erste stabile und vollständige Version reserviert, man fängt also bei 0.1 an.
- tux.ICBlood
- Beiträge: 168
- Registriert: 30.01.2005 15:01:47
- Wohnort: Köln
-
Kontaktdaten:
Und manche Projekte brauchen ewig bis sie 1.0 werden. Wobei 0.1 versionen meistens ohne Probleme benutzbar sind.
JabberFriends ist ein serverübergreifendes Benutzerverzeichnis, das es einfach macht, neue Jabber Kontakte zu finden. Ein Wiki führt den Neuling in die Funktionsweise von Jabber und den verschiedenen Clienten ein.
hi,
die alpha-Version eines Programms ist die erste, meist öffentliche (oder halböffentliche) lauffähige Testversion eines Programmes. Die beta-Version ist dann eine verbesserte Alpha-Version. Der Funktionsumfang der Beta ähndert sich meistens nicht mehr gross bis zum "normalen" Release, wo hingegen die alpha noch eher den Charakter einer Demonstration hat, die bestimmte Featueres dem User zeigen soll (andere Sachen können hier z.b. fehlen oder nicht lauffähig sein).
Beta Versionen sind eigentlich meistens Testversionen, die dazu dienen alle Bugs eines bevorstehenden produktiven Releases zu finden.
alpha und beta Versionen haben dann öfters noch Versionsnummer (alpha-2) etc.
mfg
mauser
die alpha-Version eines Programms ist die erste, meist öffentliche (oder halböffentliche) lauffähige Testversion eines Programmes. Die beta-Version ist dann eine verbesserte Alpha-Version. Der Funktionsumfang der Beta ähndert sich meistens nicht mehr gross bis zum "normalen" Release, wo hingegen die alpha noch eher den Charakter einer Demonstration hat, die bestimmte Featueres dem User zeigen soll (andere Sachen können hier z.b. fehlen oder nicht lauffähig sein).
Beta Versionen sind eigentlich meistens Testversionen, die dazu dienen alle Bugs eines bevorstehenden produktiven Releases zu finden.
alpha und beta Versionen haben dann öfters noch Versionsnummer (alpha-2) etc.
mfg
mauser
Lustigerweise gilt in Debian übrigens 0.5 == 0.05 == 0.005. Kann wenn man das erste Mal drüber stolpert schon ziemlich iritierend sein.
Zuletzt geändert von armin am 25.08.2006 12:15:42, insgesamt 1-mal geändert.
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams
Ich versuche es mal aus dem Kopf. Das Problem ist, dass für die Ermitlung welche version größer ist als eine andere kein purer String vergleich gemacht werden kann. In dem Fall wäre nämlich 0.5 größer als 0.10. Daher werden die Versionsnummern in Teilstrings zerlegt, die jeweils einzeln ausgewertet werden.
Dazu aus der Debian Policy:
Nachprüfen kann man obige behauptung übrigens mit dpkg --compare-versions 0.5 eq 0.05 && echo true
Dazu aus der Debian Policy:
The upstream_version and debian_revision parts are compared by the package management system using the same algorithm:
The strings are compared from left to right.
First the initial part of each string consisting entirely of non-digit characters is determined. These two parts (one of which may be empty) are compared lexically. If a difference is found it is returned. The lexical comparison is a comparison of ASCII values modified so that all the letters sort earlier than all the non-letters.
Then the initial part of the remainder of each string which consists entirely of digit characters is determined. The numerical values of these two parts are compared, and any difference found is returned as the result of the comparison. For these purposes an empty string (which can only occur at the end of one or both version strings being compared) counts as zero.
These two steps (comparing and removing initial non-digit strings and initial digit strings) are repeated until a difference is found or both strings are exhausted.
Nachprüfen kann man obige behauptung übrigens mit dpkg --compare-versions 0.5 eq 0.05 && echo true
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams
-
- Beiträge: 2186
- Registriert: 18.09.2005 15:52:02
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
hi,
dazu muss man aber sagen, das es von jedem "Release Typ" (alpha,beta,stable,etc..) verschiedene Release Candidates (RC) geben kann. Verschiedene RC's einer Version besagen meistens, das es nur kleinere Bugfixes gab. Versionssprünge machen auf grössere Änderungen aufmerksam. So gibt es z.b. auch verschiedene RC's von Debian Sarge.
Der Zusatz "RC" oder "rc" hinter einer Version sagt aber nichts darüber aus, wie stabil diese Version ist oder ob es alpha oder beta oder stable ist. Es ist einfach nur eine Abstufung.
mfg
mauser
dazu muss man aber sagen, das es von jedem "Release Typ" (alpha,beta,stable,etc..) verschiedene Release Candidates (RC) geben kann. Verschiedene RC's einer Version besagen meistens, das es nur kleinere Bugfixes gab. Versionssprünge machen auf grössere Änderungen aufmerksam. So gibt es z.b. auch verschiedene RC's von Debian Sarge.
Der Zusatz "RC" oder "rc" hinter einer Version sagt aber nichts darüber aus, wie stabil diese Version ist oder ob es alpha oder beta oder stable ist. Es ist einfach nur eine Abstufung.
mfg
mauser