139 | | === Special case: Prerequisite libraries === |
140 | | |
141 | | [#Prerequisitelibrary Prerequisite library] changes that run any risk of breaking libraries that depend on them should always be first applied and tested on a branch, and only merged into the main trunk when stable. |
142 | | |
143 | | The rationale is that changes to the main trunk that break prerequisite libraries are a serious problem because these changes destabilize the test environment for all libraries that depend on them. This causes developers of other libraries to expend needless effort tracking down test failures that aren't their fault. |
144 | | |
145 | | In an ideal world changes to prerequisite library branches should be tested on various platforms prior to merging into the main trunk. In the absence of test-on-demand facilities, we will have to rely on rapid test cycling and a willingness to revert changes when changes to a prerequisite library inadvertently breaks tests of other libraries. |
146 | | |
147 | | === Special case: Breaking changes to prerequisite libraries === |
| 142 | === Special case: Prerequisite components === |
| 143 | |
| 144 | [#Prerequisitecomponent Prerequisite component] changes that run any risk of breaking components that depend on them should always be first applied and tested on a branch, and only merged into the main trunk when stable. |
| 145 | |
| 146 | The rationale is that changes to the main trunk that break prerequisite components are a serious problem because these changes destabilize the test environment for all components that depend on them. This causes developers of other components to expend needless effort tracking down test failures that aren't their fault. |
| 147 | |
| 148 | In an ideal world changes to prerequisite component branches should be tested on various platforms prior to merging into the main trunk. In the absence of test-on-demand facilities, we will have to rely on rapid test cycling and a willingness to revert changes when changes to a prerequisite component inadvertently breaks tests of other components. |
| 149 | |
| 150 | === Special case: Breaking changes to prerequisite components === |