You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/source/versioning.rst
+22-23Lines changed: 22 additions & 23 deletions
Original file line number
Diff line number
Diff line change
@@ -4,8 +4,8 @@ Version numbering used in GSAS-II
4
4
Git commits
5
5
------------
6
6
7
-
GSAS-II versions are numbered in several ways. Every time a change to one ore more
8
-
GSAS-II source files is committed to a repo by the git source code management system git assigns the set of changes a 40 character hexadecimal "hash" code for that version. Usually the hash code is abbreviated to the first 6-8 characters, which is still likely to be unique. We will refer to this label as the git commit number.
7
+
GSAS-II versions are numbered in several ways. Every time a change to one or more
8
+
GSAS-II source files is committed to a repo by the git source code management system, git assigns the set of changes a 40 character hexadecimal "hash" code for that version. Usually the hash code is abbreviated to the first 6-8 characters, which is still likely to be unique. We refer to this label as the git commit number.
9
9
10
10
Integer Tag numbers
11
11
------------------------
@@ -15,48 +15,47 @@ When a significant change is made to GSAS-II, a developer can assign an integer
15
15
Release version numbers
16
16
------------------------
17
17
18
-
Software packaging systems require version numbers of the form X.Y.Z, where the numbers X, Y and Z are labeled as major, minor and micro release version numbers, such as 5.1.3. X and Y are integers. Z is allowed to have a decimal place (such as 5.1.3.1) or may contain letters (such as 5.4.0rc1), but at present GSAS-II will use an integers for Z as well. The software numbering system that GSAS-II uses is intended to follow -- more or less -- the "`effective versioning <https://jacobtomlinson.dev/effver/>`_" versioning concept, as implemented below:
18
+
Software packaging systems require version numbers of the form X.Y.Z, where the numbers X, Y and Z are labeled as major, minor and micro release version numbers, such as 5.1.3. X and Y are integers. Z is allowed to have a decimal place (such as 5.1.3.1) or may contain letters (such as 5.4.0rc1), but at present GSAS-II will use integers for Z as well. The software numbering system that GSAS-II uses is intended to follow -- more or less -- the "`effective versioning <https://jacobtomlinson.dev/effver/>`_" numbering concept, as implemented below:
19
19
20
20
* The major release (starting at 5 in 2015) will be changed in GSAS-II when there are very significant changes in how the software is installed or functions that affect large portions of how the program operates. Users are advised to look carefully at the `GSAS-II home page <https://gsasii.github.io>`_ to see what has been changed.
21
21
22
-
* When relatively limited new capabilities are added to GSAS-II or a change is made in how a small section of the program functions, the minor release number is incremented, such as changing from 5.1.3 to 5.2.0. (Note that when the minor release is incremented, the micro release is set to 0.) This will usually be accompanied with a change to the integer tag number (see above). A change in the minor release indicates that while there may be some new functionality that would be useful to learn about, users can expect the GSAS-II to function pretty much as it did before, so it is not essential to consult the documentation.
22
+
* When relatively limited new capabilities are added to GSAS-II or a change is made in how a small section of the program functions, the minor release number is incremented, such as changing from 5.1.3 to 5.2.0. (Note that when the minor release is incremented, the micro release is set to 0.) This will be accompanied with a change to the integer tag number (see above). A change in the minor release indicates that there is some new functionality in GSAS-II that might be useful for users to learn about or a significant change due to a bug.
23
23
24
-
* Changes to the micro version are made when a bug is fixed or a cosmetic change has been applied and where a new distribution is intended. Users will normally not need to consider the details of an update when only the micro version number is incremented and may not want to update every time there is a new micro version released. However, if a user reports a but and has been told that the problem has been addressed, they will want the latest version. Likewise, before reporting a bug, users are asked to please make sure that error occurs with the latest GSAS-II version. The developers may become cross after tracking down something that has been reported as not working, only to find that problem was already fixed. Not every change (git commit) with GSAS-II will be assigned a new micro version. If the change is a development that is not completed or does not introduce any new functionality (for example improvements to documentation), a new git commit tag will be generated but the mini version will not be incremented.
24
+
* Changes to the micro version are made when a minor bug is fixed or a cosmetic change has been applied and where users are encouraged to update. Users will normally not need to consider the details of an update when only the micro version number is incremented and may not want to update every time there is a new micro version released. However, users should always test GSAS-II with the latest version before reporting a bug. The developers may become unhappy after tracking down something that has been reported as not working, only to find that problem was already fixed.
25
+
26
+
Not every change (git commit) for GSAS-II will be assigned a new micro version. If the change is a development that is not completed or does not introduce any new functionality (for example improvements to documentation) or is otherwise not of general interest, while a new git commit tag will be always generated, the mini version number will not be incremented.
25
27
26
28
Tools
27
29
--------
28
30
29
-
At present three scripts are provided for developers to use to create or work with integer tag and release version numbers, to save having to review the git logs for previously assigned numbers. All of these scripts update the `git_verinfo.py` version file which is kept so that non-git installs of GSAS-II can report the currect version number.
31
+
At present two scripts are provided for developers to use to create or work with integer tag and release version numbers, to save having to review the git logs for previously assigned numbers. All of these scripts update the `git_verinfo.py` version file which is kept so that non-git installs of GSAS-II can report the currect version number.
30
32
31
-
To assign a new integer tag number (and increment the minor version number), use script:
33
+
To assign a new integer tag number and increment the mini version number, use script:
32
34
33
-
`.../GSASII/install/tag-version.py`
35
+
`.../GSASII/install/incr-version.py` or
36
+
`.../GSASII/install/incr-version.py mini`
34
37
35
-
This script is used when there are significant changes (possibly cumulative) to the
36
-
code and a new release should be tagged both with a new integer tag number and
37
-
minor version number. It updates the `git_verinfo.py` version file so that
38
-
GSAS-II can quickly report the current version numbers.
38
+
This command is used when there have been minor changes made in GSAS-II and
39
+
the changes warrent a version number update (for example, due to a bug fix).
39
40
40
-
To increment only the mini version number, use script:
41
+
To increment the minor version number, use the script with argument "minor":
41
42
42
-
`.../GSASII/install/incr-mini-version.py`
43
+
`.../GSASII/install/incr-version.py minor`
43
44
44
-
This script is used when the have been minor changes made in GSAS-II and
45
-
the changes warrent an update (for example, due to a bug fix). This cannot be used
46
-
when a new integer tag number has been assigned to the
47
-
current GSAS-II commit.
48
-
It also updates the `git_verinfo.py` version file so that
49
-
GSAS-II can quickly report the current version numbers.
45
+
This is used when there are significant changes (possibly cumulative) to the
46
+
code and a new release should be tagged both with a new integer tag number and
47
+
the minor version number should be increased (e.g. 5.8.2 to 5.9.0).
48
+
49
+
For non-git installs, there is also this routine:
50
50
51
51
`.../GSASII/install/save-versions.py`
52
52
53
-
This script is used to save the latest version info in the `saved_version.py` file.
53
+
This script is used to save the latest version info in the `git_verinfo.py` file.
54
54
This file is created when a non-git install is made for GSAS-II so that the
55
55
hash number for the current git version (which cannot be
56
-
placed into the `git_verinfo.py` file) is recorded.
56
+
placed into the `git_verinfo.py` file by the `incr-version.py` script) is recorded.
57
57
The `save-versions.py` script does not change any tags or release version numbers.
0 commit comments