Branch

Revision as of 16:47, 2 June 2025 by Ashific (talk | contribs) (Created page with "'''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 <code>master</code>, which contains the latest changes and edits, which are mostly stable. <code>master</code> is the root branch, as others are deriving directly from it, containing...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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. master is the root branch, as others 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)), which means an internal compiler for unit tests and build quality of life tracking.

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.
  • Nova branches (nova) are for early and in-development programs, which contain internal rewrites and newer implementations of crucial components, which serve as a replacement, or an enhancement to existing programs. For example: new compilers.
  • 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 extreme edits, but with lots of informal descriptions, preliminary naming and graphics. 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.

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.