Dev:versioning: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
(tag Outdated added)
m (typo)
 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{navi}}
{{navi}}
{{Outdated|date=2022|topic=SVN is not longer in use; railML's Gitlab structure is idfferent|user=[[User:Coordination|Coordination]] ([[User talk:Coordination|talk]]) 11:37, 26 September 2022 (CEST)}}  
{{Outdated|date=2022|topic=SVN is not longer in use; {{rml}}'s Gitlab structure is different|user=[[User:Coordination|Coordination]] ([[User talk:Coordination|talk]]) 11:37, 26 September 2022 (CEST)}}  
{{note|The subject of this article is accessing, setting and naming developer versions. To learn about published {{rml}} versions and about our release policy, see [[dev:versions]].}}
{{note|The subject of this article is accessing, setting and naming developer versions. To learn about published {{rml}} versions and about our release policy, see [[dev:versions]].}}
== Download railML ==
=== Current stable release ===
=== Current stable release ===


In order to get the current stable {{rml}} package, go to {{site|https://www.railml.org/en/download.html|the Download section}} whilst logged on.
In order to get the current stable {{rml}} package, go to {{site|https://www.railml.org/en/download.html|the Download section}} whilst logged on.
The package consists of an zip archive containing:
* XML Schema files in <tt>schema</tt> folder; and
* HTML documentation in <tt>documentation</tt> folder
XML example files can be found on {{site|https://www.railml.org/en/user/exampledata.html}}.


'''Current stable releases are {{rml}} {{current|2}} and {{rml}} {{current|3}} respectively.'''
'''Current stable releases are {{rml}} {{current|2}} and {{rml}} {{current|3}} respectively.'''


=== Exchange a {{rml}} file based on unstable schemas ===


=== Older stable releases ===
The following XML fragment shows how to exchange {{rml}} files using unstable {{rml}} schemas.
 
Older officially released {{rml}} versions are archived {{site|https://www.railml.org/en/download.html|here}} (or go to {{site|https://www.railml.org}} and click ''Developers > Download'')
 
All schemes are zip archived.
 
=== Developer unstable releases ===
 
Since railML 1.1 the development of railML can be publicly supervised through the public subversion repository located at {{site|https://svn.railml.org|railML's SVN|domain=svn}}.
Beginning on June 20<sup>th</sup>, 2016 the main branch is splitted to allow a parallel work for railML 2 and railML 3 development.
Therefore the structure is made like described below:
 
/
    railML2/
        [https://svn.railml.org/railML2/trunk/ trunk]/
        branches/
        tags/
    railML3/
        trunk/
        branches/
        tags/
 
''Please note: The old server at {{external|https://www.assembla.com/spaces/railML|www.assembla.com}} is not longer in use since March 2014.''
 
{{external|https://subversion.apache.org|Subversion}} is an open source version control system. All code changes are registered with date and time together with its commiter and a commit log message.
 
==== Routine downloads ====
 
If you want to keep track of all code commits, you should use a subversion client. A read only access to the schemes is available at {{site|https://svn.railml.org|railML's SVN|domain=svn}}, any write access is possible only for the railML coordinators.
 
* Change to your local railML folder.
* First time: checkout the current repository (all changes since version 1.1).
*:<pre>svn co https://svn.railml.org/</pre>
* Further: update your local repository copy as often as you want (all recent changes since last svn update).
*:<pre>svn up https://svn.railml.org/</pre>
 
You get railML files according to its [[#Subversion_repository_folders | repository folders]].
 
==== Most recent snapshot ====
 
If you don't run an subversion client, you can nevertheless get a copy of the most recent developer version.
 
Simply click ''Developer version'' on {{site|https://www.railml.org|the {{rml}} homepage}} to download an zip archive of repositories' [[#trunk | <tt>trunk</tt> folder]].
 
The zip archive contains:
 
* Current XML Schema files in <tt>schema</tt> folder
* Current XML example files in <tt>examples</tt> folder
* Current defect XML sample files for semantic validation purposes in <tt>defectSamples</tt> folder
* blank <tt>documentation</tt> folder
 
==== Exchange a railML file based on unstable schemas ====
 
The following XML fragment shows how to exchange railML files using unstable railML schemas.


<pre>
<pre>
Line 91: Line 31:


For more information on how to use version numbers and namespaces, see [[dev:versions|Recommendations on version numbers]].
For more information on how to use version numbers and namespaces, see [[dev:versions|Recommendations on version numbers]].
== Subversion repository folders ==
=== trunk ===
The /trunk/ directory contains the source files that the next public and stable project release is based on.
=== tags ===
The /tags/ directory contains snapshots of public and stable project versions that have been released.
=== branches ===
The /trunk/ directory contains the source files that the next public and stable project release is based on.
Back to [[Hauptseite#Common_.28CO.29| Common overview]]


==Note on legacy SVN commits==
==Note on legacy SVN commits==

Latest revision as of 09:42, 13 March 2024

RailML Trademark RGB V2.png
XML Railway exchange format
https://railML.org
Latest release: 2.5
(September 1st, 2021)
 
Main Menu
 
Subschemas
XML tree
UML diagrams
Use cases
Versions & Changes
railML® 3 WikiRailTopoModel® Wiki
Outdated.png Part of the article content is outdated since 2022. SVN is not longer in use; railML®'s Gitlab structure is different. Please update this article to reflect recent events or newly available information. Possibly, you will find further details on the discussion pageCoordination (talk) 11:37, 26 September 2022 (CEST)
🗒️ The subject of this article is accessing, setting and naming developer versions. To learn about published railML® versions and about our release policy, see dev:versions.

Current stable release

In order to get the current stable railML® package, go to the Download section (link to the railML® website) whilst logged on.

Current stable releases are railML® 2.5 and railML® 3.2 respectively.

Exchange a railML® file based on unstable schemas

The following XML fragment shows how to exchange railML® files using unstable railML® schemas.

<?xml version="1.0" encoding="UTF-8"?>
<railml version="2.1r416"
  xmlns="https://www.railml.org/schemas/2011" 
  xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="https://www.railml.org/schemas/2011 https://svn.railml.org/export/416/trunk/schema/railML.xsd">
  ...
</railml>
  • Use the last released version number plus the current SVN number: version="2.1r416"
  • Use the last released namespace
    • as default namespace: xmlns="https://www.railml.org/schemas/2011"
    • as prefixed namespace: xmlns:rail="https://www.railml.org/schemas/2011" (not shown above)
  • Use the appropriate web-based Schema location at railML.org: xsi:schemaLocation="https://www.railml.org/schemas/2011 https://svn.railml.org/export/416/trunk/schema/railML.xsd"

For local validation purposes, see Local versus web-based validation (XML catalogs and XML namespaces)

For more information on how to use version numbers and namespaces, see Recommendations on version numbers.

Note on legacy SVN commits

🗒️ In 2021 the railML® development was migrated from SVN (Wiki banner.png) to GitLab (Wiki banner.png). Identical commits have different numbers on SVN and GitLab respectively. Template:SVN still allows to find SVN commit numbers in GitLab via the search function. For instance SVN commit 416 corresponds to GitLab commit 5f735749. You will be directed to a search page, where the (usually unique) hit can be clicked or the commitment number can be copied. E.g. {{SVN|416|2}} [416] will present a page linking to the page of GitLab commit {{commit|5f735749}} [5f735749].