Application branches
Introduction
Application branches are an advanced feature and are not required to work with redpesk.
In redpesk, an application can have several branches to manage packaging. Since all packaging files are stored in a Git repository, advanced users can manage multiple versions of these files.
Each branch can also be associated with specific distributions. This association can be different in different project environments.
For example in project MAIN:
-
branch acan be associated withdisrtribution 1in project’sDEFAULT environment -
branch acan be associated withdisrtribution 2in project’sDEV environment
ATTENTION: the branch and git notions mentioned in this chapter are dedicated to packaging and should not be confused with branch(es) of application git sources.
Presentation
When an application is created in the factory, a default branch is automatically created associated with all project distros and all packaging files are stored in a Git repository.
Typical files stored in the packaging Git include:
- specfile
- source archive
- patches
- signature
- …
These files appear in the FILE MANAGER tab.
In most cases, modifying these files directly is enough to work with redpesk. However, if a different version of these files is needed, additional branches can be created.
Manage branches
Branch management is available in the ACTIONS tab.

The table lists branches along with their associated distributions:
- name: branch name
-
status:
- default — the default Git branch, new distros will be associated to it
- active — the branch currently displayed in FILE MANAGER and SETTINGS
- distributions: distributions that will be built from this branch
-
actions:
- settings — edit the distributions associated with this branch
- delete — remove the branch
The New branch button allows you to create a branch from an existing one and assign distributions to it.
Clicking a branch switches it as the active branch.
Build
When launching a build, the packaging files used depend on the branch associated with the selected distribution.
For example:
-
dev-v1.2.10branch files forredpesk-lts-batz-2.1-update -
mainbranch files forredpesk-lts-batz-2.2-updateandredpesk-lts-batz-2.0-update
This mechanism allows you to maintain different versions of the same application across distributions.

Settings by branch
Some application settings can differ between branches, such as:
- source settings
- build mode
- application services
Selecting a branch switches the active branch and displays the associated configuration.
In the example below:
- the
dev-v1.2.10branch set mustach version to 1.2.10 - the
mainbranch set mustach version to 1.2.9
Therefore:
- the build for
redpesk-lts-batz-2.1-updatewill use 1.2.10 source - the builds for
redpesk-lts-batz-2.2-updateandredpesk-lts-batz-2.0-updatewill use 1.2.9 source
