Branch
Branch is a development lab, initialized by OpenXP developers for making development more organized and consistent. Branches have different development structure and meaning, therefore their hierarchy is simpler and easier in plan of organization.
Structure
The topmost branch is master
, which contains the latest changes and edits, which are mostly stable. Other branches are deriving directly from it, containing up-to-date changes in themselves too.
Compilations derived from branches can be online and offline, with the main difference being the inclusion of developer's username after branch name in online compiles (for example master(ash)
), indicating of inclusion of in-development and partially private pieces of code.
Plenty of others are included in following structure:
- General branches are main development branches, which include new stuff, often not synchronized with
master
, but fetching stabilized changes from other branches below. - Feature branch leverage branches (
fbl
), which are intended for development of a big program or change, which will be integrated into the system consequently. For example: implementation of a package manager or rejuvenated Feedback Tool. - vNext branch family includes platform and groundbreaking code changes, intended for fundamentally new features and improvements, e.g. ` fulfilled AMD64 port of source code, implementation of OpenKernel and more.
- Highly experimental branches contain very sensitive and unstable improvements, with their consequences and developing behavior may seem... funny. Yeah, lots of informal (and maybe even rude) expressions, crappy working programs, etc.
- Fundamental branches (
fun
) are for crucial changes inside build environment and core facilities, leveraging platform changes and behavior. It may break compatibility with older applications, and it is in active development, meaning that core improvements will appear. - Funny branches (
lol
and similar) are for lots of informal descriptions, preliminary naming, graphics, early programs and more. Even internal functionality may differ from that, but don't worry - these branches aren't for retail release, and they mostly exist in private circles of developers.
- Fundamental branches (
Legacy mechanism
Before development reset, OpenXP used labs system. master
was still in existence, therefore most of branches didn't have any prefixes for their meaning, and used direct naming convention instead: canary
was the prerelease improvements branch, and fundamental
included all compiler enhancements.