QEF/qeschemas

branching/versioning strategy?

Opened this issue · 3 comments

The master branch of qeschemas contains both a "current master" and a "current develop" version of the schema:
image

At the same time, the repository has a master and a devel branch.

This can leave a potential contributor wondering which file/branch to modify.

There are various ways to fix this
a) delete the devel ... branches. Development happens in master
b) replace the two files with one qes.xsd file; development happens in the develop branch and is merged into master for releases
c) replace the two files with one qes.xsd file and delete folder with previous versions. versions are specified via git tags (this would also ensure that previous versions remain stable and are not changed accidentally)

Any of these options would work, as longs as the README explains what to do.

current_master is the schema currently used in maste current_develop is the schema currently used in the master and develop branch of https://gitlab.com/QEF/q-e. They can be changed only for updating them to the changed occurred in that repository.

I will remove the develop branch that is not used, merge requests should addressed to the master branch.

Thanks Pietro, I've added this explanation in #10

I have two follow-up questions

  • What are test_schemas?
  • What is the exact meaning of the dates in previous_schemas? Do these schemas correspond to the master branch of QE at this particular date? I think it would be useful to include, in addition to the date, metadata on the exact QE commit these schemas are meant to correspond to

In the test_schemas directories one should put, proposed changes to the schemas, before their implementation. If and when those changes are implemented in QE source code, they will be included in the official version of the schemas, qes_current_develop.xsd and qes_current_master.xsd. The datecode corresponds more or or less with the date of the commit in the QE repository. All versions that have been actually implemented are also present in the previous_version directory.