Branch: Difference between revisions

No edit summary
No edit summary
 
Line 8: Line 8:
Plenty of others are included in following structure:
Plenty of others are included in following structure:


* '''General''' branches are main development branches, which include new stuff, often not synchronized with <code>master</code>, but fetching stabilized changes from other branches below.
=== General ===
* '''Feature branch leverage''' branches (<code>fbl</code>), 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.
General branches are main development branches, which include new stuff, often not synchronized with <code>master</code>, but fetching stabilized changes from other branches below. They are intended for keeping most groundbreaking changes, which have been tested properly and guarantee stability of their work. Future patch kits and releases of OpenXP are derived from these branches.  
* [[VNext|'''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 (<code>fun</code>) 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 (<code>lol</code> 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.


=== Legacy mechanism ===
=== Feature branch leverage ===
Before [[development reset]], OpenXP used labs system. <code>master</code> was still in existence, therefore most of branches didn't have any prefixes for their meaning, and used direct naming convention instead: <code>canary</code> was the prerelease improvements branch, and <code>fundamental</code> included all compiler enhancements.
Feature branch leverage branches (<code>fbl</code>) are intermediate branches, which are intended for long term development, which will be integrated into the system consequently. e.g. ` implementation of a package manager or rejuvenated Feedback Tool. These branches are serving as a foundation to merge into General branches, and they are not guarantee for stability.
 
[[vNext]] branches are also belong to Feature branch leverage and they contain fundamental changes in kernel, back ports of multiple features and more. Apart of this, vNext branches are logical continuation of new, future releases and are first candidates to be merged into General ones usually.
 
=== Funny ===
This kind of 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 and etc are here, and if you run build from these branches, never except anything, not talking about even stability.
* '''Fundamental''' branches (<code>fun</code>) 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 (<code>lol</code> 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.
 
== Legacy mechanism ==
Before [[development reset]], OpenXP used labs system. <code>master</code> was still in existence, therefore most of branches didn't have any prefixes for their meaning, and used direct naming convention instead: <code>canary</code> was the pre-release improvements branch, and <code>fundamental</code> included all compiler enhancements. However, this branching mechanism was abandoned due to it's unusable and messy behavior.


[[Category:Development]]
[[Category:Development]]