Template:VersionRevision: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
(enable parameter input such as "v2.0")
(Overhaul for the git versioning changes, see Template talk:VersionRevision for more info.)
Line 1: Line 1:
<includeonly>{{#switch:{{{use|}}}
<includeonly>{{#switch:{{{use|}}}
|title={{#switch:{{{1}}}
|title={{#switch:{{{1}}}<!--pretty title format-->
  |2.0|v2.0=2.0 (RC)
|2.0|v2.0=2.0
  |3.0|v3.0=3.0
|3.0|v3.0=3.0
  |#default=r{{{1}}}
|5350|r5350=2.0
}}
|7617|r7617=3.0
|link|#default={{#switch:{{{1}}}
<!--switch cannot handle regex, so anything more complicated than straight match goes into default-->
  |2.0|v2.0=5350
|#default=
  |3.0|v3.0=7617
{{#if:{{#regex:{{{1}}}|/^[0-9]\.[0-9]\-[0-9]+$/}}<!--found a new-format git release-->
  |#default={{{1}}}
|{{#regex:{{{1}}}|/^[0-9]\.[0-9]\-[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'-->
|{{{1}}}<!--we do, output as-is-->
|r{{{1}}}<!--we do not, add a leading 'r'-->
}}
}}
}}
|link|#default={{#switch:{{{1}}}<!--link format, mostly for calculations and other templates use-->
|2.0|v2.0=5350
|3.0|v3.0=7617
<!--switch cannot handle regex, so anything more complicated than straight match goes into default-->
|#default=
{{#if:{{#regex:{{{1}}}|/^[0-9]\.[0-9]\-[0-9]+$/}}<!--found a new-format git release-->
|{{#expr:<!--basically, we're doing... (rev value of the base revision) + (build number)-->
{{#switch:{{#regex:{{{1}}}|/^[0-9\.[0-9]/}}<!--switching on the first part of the rev (3.0, 4.0, etc)-->
|3.0=7617
}}
+{{#regex:{{{1}}}|/^[0-9]\.[0-9]\-([0-9]+$)/|$1}}}}
|{{#if:{{#regex:{{{1}}}|/^[r,R][0-9]{1,4}/}}
|{{#switch:{{#regex:{{{1}}}|/^[r,R]/|}}
|2.0|v2.0=5350
|3.0|v3.0=7617
|#default={{#regex:{{{1}}}|/^[r,R]/|}}}}
|{{{1}}}
}}
}}
}}
}}</includeonly><noinclude>
}}</includeonly><noinclude>
{{documentation}}
{{documentation}}
</noinclude>
</noinclude>

Revision as of 10:14, 7 September 2011

[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}} 5350
{{VersionRevision|2|use=title}} 2.0
{{VersionRevision|3|use=link}} 7617
{{VersionRevision|3|use=title}} 3.0
{{VersionRevision|4|use=link}} 4
{{VersionRevision|4|use=title}} r4
{{VersionRevision|5|use=link}} 5
{{VersionRevision|5|use=title}} r5
{{VersionRevision|2.0|use=link}} 5350
{{VersionRevision|2.0|use=title}} 2.0
{{VersionRevision|5384|use=link}} 5384
{{VersionRevision|5384|use=title}} r5384
{{VersionRevision|3.0|use=link}} 7617
{{VersionRevision|3.0|use=title}} 3.0
{{VersionRevision|7615|use=link}} 7615
{{VersionRevision|7615|use=title}} r7615
{{VersionRevision|6900|use=link}} 6900
{{VersionRevision|6900|use=title}} r6900
{{VersionRevision|3.0-50|use=link}} 7667
{{VersionRevision|3.0-50|use=title}} 3.0-50
{{VersionRevision|3.5|use=link}} 3.5
{{VersionRevision|3.5|use=title}} r3.5
{{VersionRevision|3.5-100|use=link}} 7717
{{VersionRevision|3.5-100|use=title}} 3.5-100
{{VersionRevision|4.0|use=link}} 4.0
{{VersionRevision|4.0|use=title}} r4.0
{{VersionRevision|4.0.1|use=link}} 4.0.1
{{VersionRevision|4.0.1|use=title}} r4.0.1
{{VersionRevision|4.0.2|use=link}} 4.0.2
{{VersionRevision|4.0.2|use=title}} r4.0.2
{{VersionRevision|4.0-100|use=link}} 100
{{VersionRevision|4.0-100|use=title}} 4.0-100
{{VersionRevision|4.0-6727|use=link}} 6727
{{VersionRevision|4.0-6727|use=title}} 4.0-6727
{{VersionRevision|4.0-305 Triforce|use=link}} 4.0-305 Triforce
{{VersionRevision|4.0-305 Triforce|use=title}} r4.0-305 Triforce
{{VersionRevision|5.0-rc-20|use=link}} 5.0-rc-20
{{VersionRevision|5.0-rc-20|use=title}} r5.0-rc-20
{{VersionRevision|5.0|use=link}} 5.0
{{VersionRevision|5.0|use=title}} r5.0
{{VersionRevision|5.0-20|use=link}} 20
{{VersionRevision|5.0-20|use=title}} 5.0-20
{{VersionRevision||use=link}}
{{VersionRevision||use=title}} r

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)