Using API integration branches

Post Reply
User avatar
Arisaya
Fleet Admiral
Fleet Admiral
Posts: 5535
Joined: Tue Feb 05, 2008 1:10 am
Location: At the VSS Shipyards in the frontier, designing new ships.

As contributor development has picked up, and there are different PRs targeting different API versions of the game, there is need of using API integration branches to reduce some of the headache with merging everything into main. However, to use API integration branches with github, there are some steps you need to follow to set them up.

Here is how to tell what API version you want your pull request to target:

Current API version:
  • If your change only touches xml files or metadata files
  • If your change to engine code does not alter the behavior of the engine (ex, tlisp documention, comments, refactoring/optimizing code paths, adding non-API features such as 64bit operation, settings.xml options, 60fps draws, adding new engine functions/classes for future development work, etc)
  • If your change to engine code fixes a bug that is not deliberately used for any game or mod functionality
Next API version:
  • If you add tlisp functions
  • If you add new XML design types
  • If you add new XML attributes to a design type
A future API version:
  • If your change is a large change that is not expected to be ready in time for the next API version
To create a synced copy of an API integration branch on github, go to your forked repository
Next, click on the branch selector in the upper left corner, and then at the bottom of the dropdown menu, select 'view all branches'
image_2025-07-29_15-01-24.png
image_2025-07-29_15-01-24.png (80.9 KiB) Viewed 64 times
In the upper right corner, select 'new branch'
In the branch name text field, type integration/API## where ## is the api version you are targeting
In the 'source' dropdowns, select the upstream repo (kronosaur/TranscendenceDev) and the integration branch you are targeting (integration/API##)
image_2025-07-29_15-03-29.png
image_2025-07-29_15-03-29.png (22.98 KiB) Viewed 64 times
image_2025-07-29_15-03-48.png
image_2025-07-29_15-03-48.png (37.18 KiB) Viewed 64 times
Then, click 'create new branch'

Now you have created a new branch that can be synced with the upstream integration branch in the same way as the main branch
(shpOrder gPlayership 'barrelRoll)

<New tutorials, modding resources, and official extension stuff coming to this space soon!>
Post Reply