Template:VersionRevision: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
(Made changes suggested in the Discussion page. It's a simple numbering change so it shouldn't break anything, but everyone please check!)
(OK, this should now handles the 5.0-rc releases and alternate branch releases correctly.)
Line 13: Line 13:
|8551|r8551=3.5
|8551|r8551=3.5
|11001|r11001=4.0
|11001|r11001=4.0
|20000|r20000=5.0<!--Placeholder for unreleased 5.0-->
|17728|r17728=5.0
<!--switch cannot handle regex, so anything more complicated than straight match goes into default-->
<!--switch cannot handle regex, so anything more complicated than straight match goes into default-->
|#default=
|#default=
{{#if:{{#regex:{{{1}}}|/^[0-9]\.[0-9]\.?[0-9]?\-[0-9]+$/}}<!--found a new-format git release-->
{{#if:{{#regex:{{{1}}}|/^[0-9]\.[0-9]\.?[0-9]?\-(rc-)?[0-9]+.*$/}}<!--found a new-format git release-->
|{{#regex:{{{1}}}|/^[0-9]\.[0-9]\.?[0-9]?\-[0-9]+$/}}<!--input is git; output in the format we received it in-->
|{{#regex:{{{1}}}|/^[0-9]\.[0-9]\.?[0-9]?\-(rc-)?[0-9]+.*$/}}<!--input is git; output in the format we received it in-->
|{{#if:{{#regex:{{{1}}}|/^r[0-9]{1,4}$/}}<!--input is not git; detect whether we have a leading 'r'-->
|{{#if:{{#regex:{{{1}}}|/^r[0-9]{1,4}$/}}<!--input is not git; detect whether we have a leading 'r'-->
|{{{1}}}<!--we do, output as-is-->
|{{{1}}}<!--we do, output as-is-->
Line 29: Line 29:
|3.5|v3.5=8551<!--2450 3.5 era releases-->
|3.5|v3.5=8551<!--2450 3.5 era releases-->
|4.0|v4.0|4.0.1|v4.0.1|4.0.2|v4.0.2=11001
|4.0|v4.0|4.0.1|v4.0.1|4.0.2|v4.0.2=11001
|5.0|v5.0=20000<!--Placeholder for unreleased 5.0-->
|5.0|v5.0=17728<!--5.0-rc releases, still need to account for actual 5.0, may be a pain-->
<!--switch cannot handle regex, so anything more complicated than straight match goes into default-->
<!--switch cannot handle regex, so anything more complicated than straight match goes into default-->
|#default=
|#default=
{{#if:{{#regex:{{{1}}}|/^[0-9]\.[0-9]\.?[0-9]?\-[0-9]+$/}}<!--found a new-format git release-->
{{#if:{{#regex:{{{1}}}|/^[0-9]\.[0-9]\.?[0-9]?\-(rc-)?[0-9]+.*$/}}<!--found a new-format git release-->
|{{#expr:<!--basically, we're doing... (rev value of the base revision) + (build number)-->
|{{#expr:<!--basically, we're doing... (rev value of the base revision) + (build number)-->
{{#switch:{{#regex:{{{1}}}|/^[0-9]\.[0-9]\.?[0-9]?/}}<!--switching on the first part of the rev (3.0, 4.0, etc)-->
{{#switch:{{#regex:{{{1}}}|/^[0-9]\.[0-9]\.?[0-9]?/}}<!--switching on the first part of the rev (3.0, 4.0, etc)-->
Line 39: Line 39:
|3.5=8551
|3.5=8551
|4.0|4.0.1|4.0.2=11001
|4.0|4.0.1|4.0.2=11001
|5.0=20000
|5.0=17728
}}
}}
+{{#regex:{{{1}}}|/^[0-9]\.[0-9]\.?[0-9]?\-([0-9]+$)/|$1}}}}
+{{#regex:{{{1}}}|/^[0-9]\.[0-9]\.?[0-9]?\-(rc-)?([0-9]+).*$/|$2}}}}
|{{#if:{{#regex:{{{1}}}|/^[r,R][0-9]{1,4}/}}
|{{#if:{{#regex:{{{1}}}|/^[r,R][0-9]{1,4}/}}
|{{#switch:{{#regex:{{{1}}}|/^[r,R]/|}}
|{{#switch:{{#regex:{{{1}}}|/^[r,R]/|}}
Line 48: Line 48:
|3.5|v3.5=8551
|3.5|v3.5=8551
|4.0|v4.0|4.0.1|v4.0.1=11001
|4.0|v4.0|4.0.1|v4.0.1=11001
|5.0|v5.0=20000
|5.0|v5.0=17728
|#default={{#regex:{{{1}}}|/^[r,R]/|}}}}
|#default={{#regex:{{{1}}}|/^[r,R]/|}}}}
|{{{1}}}
|{{{1}}}

Revision as of 06:06, 3 October 2015

[edit] [purge] Template documentation

The VersionRevision template provides revision numbers from version numbers. It is used in Template:Revision and Template:VersionCompatibilityVersion.

Usage

code result
{{VersionRevision|2|use=link}} 5384
{{VersionRevision|2|use=title}} 2.0
{{VersionRevision|3|use=link}} 7615
{{VersionRevision|3|use=title}} 3.0
{{VersionRevision|4|use=link}} 11001
{{VersionRevision|4|use=title}} 4.0
{{VersionRevision|5|use=link}} 17728
{{VersionRevision|5|use=title}} 5.0
{{VersionRevision|2.0|use=link}} 5384
{{VersionRevision|2.0|use=title}} 2.0
{{VersionRevision|5384|use=link}} 5384
{{VersionRevision|5384|use=title}} 2.0
{{VersionRevision|3.0|use=link}} 7615
{{VersionRevision|3.0|use=title}} 3.0
{{VersionRevision|7615|use=link}} 7615
{{VersionRevision|7615|use=title}} 3.0
{{VersionRevision|6900|use=link}} 6900
{{VersionRevision|6900|use=title}} r6900
{{VersionRevision|3.0-50|use=link}} 7665
{{VersionRevision|3.0-50|use=title}} 3.0-50
{{VersionRevision|3.5|use=link}} 8551
{{VersionRevision|3.5|use=title}} 3.5
{{VersionRevision|3.5-100|use=link}} 8651
{{VersionRevision|3.5-100|use=title}} 3.5-100
{{VersionRevision|4.0|use=link}} 11001
{{VersionRevision|4.0|use=title}} 4.0
{{VersionRevision|4.0.1|use=link}} 11001
{{VersionRevision|4.0.1|use=title}} 4.0.1
{{VersionRevision|4.0.2|use=link}} 11001
{{VersionRevision|4.0.2|use=title}} 4.0.2
{{VersionRevision|4.0-100|use=link}} 11101
{{VersionRevision|4.0-100|use=title}} 4.0-100
{{VersionRevision|4.0-6727|use=link}} 17728
{{VersionRevision|4.0-6727|use=title}} 4.0-6727
{{VersionRevision|4.0-305 Triforce|use=link}} 11306
{{VersionRevision|4.0-305 Triforce|use=title}} 4.0-305 Triforce
{{VersionRevision|5.0-rc-20|use=link}} 17748
{{VersionRevision|5.0-rc-20|use=title}} 5.0-rc-20
{{VersionRevision|5.0|use=link}} 17728
{{VersionRevision|5.0|use=title}} 5.0
{{VersionRevision|5.0-20|use=link}} 17748
{{VersionRevision|5.0-20|use=title}} 5.0-20
{{VersionRevision||use=link}} <revision missing>
{{VersionRevision||use=title}} <revision missing>

Issues

  • 3.0-X revisions and beyond are too low due to not accounting for the rXXXX releases that occurred after 3.0 but before GIT revisions started.

Facts

  • 2.0 = r5384
  • 3.0 = r7615
  • Last SVN build number is r7695 (in git numbering it is 3.0-44)
  • First git build (builds without svn ids) is 3.0-45
  • The last 3.0 era build is 3.0-936
  • 3.5 = r8551
  • The last 3.5 era build is 3.5-2450.
  • 4.0 / 4.0.1 / 4.0.2 = r11001 (The two bugfix releases, 4.0.1 and 4.0.2, are not a part of the master branch)
  • 5.0-rc-1 = r17729
  • The final 4.0 era build is 4.0-9508.
  • 5.0 = r20509

Exceptions:

  • Mamario's site incorrectly listed several revisions after the change to github as SVN: r7696, r7697, r7706, r7710, r7711, r7712, r7714, r7715, r7716, r7717, r7718, r7719, r7722, r7723.
  • Some git builds have SVN IDs even after the move to git, but their SVN IDs are unreliable: 3.0-78 aka r7693 and 3.0-154 aka r7707
  • Original 5.0-rc-1 which was not made into a proper release = 17728 (Initial release candidate based on 4.0-6727)