Branches
From OpenSimulator
(→Releases) |
(→New minor Releases) |
||
Line 50: | Line 50: | ||
In many cases master branch does correspond to the required release in this case it is just like a new release<br> | In many cases master branch does correspond to the required release in this case it is just like a new release<br> | ||
On occasions it may be required to only include selected commits or even unique special code, in this case: | On occasions it may be required to only include selected commits or even unique special code, in this case: | ||
− | * change (checkout) to the branch of release to be fixed | + | * change (checkout) to the branch of release to be fixed (or tag on main) |
* Increment its minor version number(s). | * Increment its minor version number(s). | ||
* Create a new branch named as that version. | * Create a new branch named as that version. | ||
* do the fixes | * do the fixes | ||
+ | * release | ||
=== <version>-release (outdated) === | === <version>-release (outdated) === |
Revision as of 01:55, 17 October 2020
Languages: |
English Deutsch |
Branches and Tags in the Git Repo
OpenSimulator uses Git for its source code repository. The repository contains various branches and tags used to identify development branches and release branches of the code. The primary git repository is hosted on the opensimulator.org domain. A mirror is maintained on Github. The Github repo is sync'ed with the primary every 10 minutes.
Git Repos
Repositories in the Primary Git
- opensim - the OpenSimulator source code
- opensim-libs - forks of third party libraries used in building OpenSimulator
This page outlines the repository branches and tags; what they are for, and our policy for what goes into it.
Also read
Branches
master
The master branch holds bleeding edge OpenSimulator development.
OpenSimulator Master Branch Policies
- Master is not guaranteed to function. It might be in the middle of a transition, or undergoing a major overhaul.
- Master should always build
- All tests should run green on trunk
- Code should have been reasonably tested
Browse the master branch
New major Releases
A new release is created for main master code.
- A tag with the full release name is added. (example 0.9.1.1).
- A Branch named as the release number is created.
- Master version is changed to at least the next minor number.
New minor Releases
Minor releases will contain small changes or more fixes to previous release.
In many cases master branch does correspond to the required release in this case it is just like a new release
On occasions it may be required to only include selected commits or even unique special code, in this case:
- change (checkout) to the branch of release to be fixed (or tag on main)
- Increment its minor version number(s).
- Create a new branch named as that version.
- do the fixes
- release
<version>-release (outdated)
These branches contain release code. For instance, 0.7.0.2-release
<version>-post-fixes
These branches contain release code that has had fixes applied afterwards. For instance, 0.7.0.1-post-fixes. If no post fix branch exists then no post fixes have been done.
Other Branches
Other branches mainly contain temporary developer's work.
Browse a list of all branches
Tags
Tags were originally used to trigger the automatic release build process. When it was time for a release, a <version>-release tag was applied to a branch, triggering the automated process that produced the release tarballs. For more details see Automated Release Building. Tags continue to be used to mark releases but may also be used for other purposes.
Browse a list of all tags